首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一道关于虚函数继承的面试题目解决方法

2012-02-10 
一道关于虚函数继承的面试题目#include iostream#include memory.h#include assert.husingnamespace

一道关于虚函数继承的面试题目
#include <iostream>
#include <memory.h>
#include <assert.h>
using   namespace   std;
class   A
{
char   k[3];
public:
virtual   void   aa()
{};
};
class   B   :public   virtual   A
{
char   j[3];
public:
virtual   void   bb()   {};
};
class   C:public   virtual   B
{
char   i[3];
public:
virtual   void   cc()
{};
};
int   main()
{
cout < <sizeof(A) < <endl;
        cout < <sizeof(B) < <endl;
        cout < <sizeof(C) < <endl;

}
在VC   6.0中的运行结果为:
8
20
32
Press   any   key   to   continue
请高手分析一下,我认为答案应该是:8,16,24


[解决办法]
子类有virtual table
[解决办法]
mingw编译运行结果是8,16,24
[解决办法]
指针4byte
[解决办法]
。。了。
我的也是8 20 32
[解决办法]
vs2005

热点排行