详解虚函数表:
http://blog.youkuaiyun.com/haoel/article/details/1948051/
// effective_virtualTable.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
/************************************************************************/
/*
虚函数表相关:
1 . 类不存在任何数据成员也占内存,占多少内存和编译器相关
2. 子类中有几个带虚函数的父类就有几个虚函数表,即子类可以有多个虚函数表指针指向虚函数表
*/
/************************************************************************/
class A
{
public:
virtual void f(){};
virtual void g(){};
};
class B{
public:
virtual void f(){
}
virtual void g(){
}
virtual void h(){}
};
class C
{
};
class D:public A
{
};
class E:public A,public B
{
};
void main()
{
cout<<"sizeof(C)="<<sizeof(C)<<endl;
cout<<"sizeof(D)="<<sizeof(D)<<endl;
cout<<"sizeof(E)="<<sizeof(E)<<endl;
}
实验结果:
sizeof(C)=1
sizeof(D)=4
sizeof(E)=8
请按任意键继续. . .