| 发表于:2008-01-23 11:11:4812楼 得分:0 |
第二个问题的答案: 假设如楼主所想的那样,空类不占空间的话,那么请看下面的代码: - c/c++ code
class a{
public:
show(){cout<<"a"<<endl;
}
class b{
public:
show(){cout<<"b"<<endl;
}
class c{
public:
show(){cout<<"c"<<endl;
}
class d{
public:
show(){cout<<"d"<<endl;
}
int main(){
a a;
b b;
c c;
d d;
a.show();
b.show();
c.show();
d.show();
}
a,b,c,d分别是四个类,在main()函数中的四个实例a,b,c,d的地址肯定相同,但是后面四行分别调用它们的函数show()的时候,就无法区分到底是调用谁的show()函数,为了能够正确调用各自的函数,c++标准规定,类必须占用空间,所以为空类分配一个字节的空间. | | |
|