读书人

讨论有关面向对象中继承的有关问题

发布时间: 2012-01-15 22:57:49 作者: rapoo

讨论有关面向对象中继承的问题
讨论:
public class test1
{
private int a;
public int b;
public test1()
{
a=1;
b=2;
}

}
public class test2:test1
{
public test2()
{
b=3
}
}
当你
test1 mytest1=new test1();
test2 mytest2=new test2();
问,当系统为test1和test2实例化的时候
这两个对象所分配的内存空间大小相同么?

有人做c++么?
改成c++代码,用sizeof试试。c#里面在安全模式下不能使用sizeof函数。

请热心人给个结果出来

[解决办法]
那做测试看看



[解决办法]
不一样
[解决办法]
明显不一样,成员数量都不一样……
[解决办法]
不一样,你在test2中可以调用base,test1里没有

个人观点,哈哈
[解决办法]
个人认为不一样
理由是实例化test2的时候还需要执行test1的构造方法
[解决办法]
个人认为,因为class2中没有a,所以比一个class1占的内存还少~~~
[解决办法]
学习一下哈哈

[解决办法]
up
[解决办法]
显然不一样。
而且c#和c++的实现机制是完全不一样的
[解决办法]
其实关键是如何理解private的继承

子类是继承父类private成员的
只是子类不能使用父类的private成员而已
[解决办法]
up

读书人网 >C#

热点推荐