- 类结构查看器
#include <iostream>
using namespace std;
class father
{
public :
int A;
protected:
int B;
private:
int C;
};
class son :public father
{
public :
int D;
};
void main()
{
cout << sizeof(son) << endl;//16 private的成员也被继承下来了,但是被隐藏掉了
}
利用如下语句在开发者工具中可以查看具体类的结构:
cl /d1 reportSingleClassLayoutson ClassModel.cpp
得到结果如下:
- 虚函数底层实现
虚函数在运行时会生成vftptr指针,该指针指向vftable,vftable中存放的是该类中所有虚函数的地址.