mthoutai

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
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?

哪位大牛指点一下。


posted on 2017-05-19 13:29  mthoutai  阅读(168)  评论(0编辑  收藏  举报