恩,说得很清楚了,只是虚表没怎么看
[此贴子已经被作者于2006-5-31 13:07:42编辑过]
[此贴子已经被作者于2006-5-31 13:07:42编辑过]
[此贴子已经被作者于2006-5-31 18:59:19编辑过]
注意:没有虚拟函数就不会创建虚表,也就不会有虚拟指针。即便是有,在计算类的大小时也不会将虚表所占的空间计算在内,而只是计算一个虚表指针的空间。作为版主可不应该犯这样的错误
[此贴子已经被作者于2006-5-31 19:06:02编辑过]
不对,绝对要占用对象的空间,这是C++规范明确规定的。当然这应该是由编译器添加到程序中的。不信可以试试
#include <iostream> using namespace std; #if 1 class aaa { public: virtual void a(){} private: }; class bbb:public aaa { public: virtual void a(){} }; int main() { cout << sizeof(aaa) << endl << sizeof(bbb) << endl; } #endif