标签:
class A{ public : int _a1; int _b; void virtual f(){}; }; class B:virtual public A{ public: int _b; ~B(){}; //line1 void virtual f(){}; //line2 void virtual f2(){}; void virtual f3(){}; void virtual f4(){}; }; int main(){ printf("A: %d\n", sizeof(A)); printf("B: %d\n", sizeof(B)); return 0; }
代码如上,为什么line1和line2同时被注释,一个注释一个不注释输出结果都是12,24,但是如果都不被注释,输出的结果是28?
哪位大牛指点一下。
版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。
标签:
原文地址:http://blog.csdn.net/shizhixin/article/details/46923779