C++ Class
数据成员属性有2种:static 和 nonstatic ,
函数成员属性有3种:static、nonstatic、virtual。
C++ 对象模型
Nonstatic 数据成员 存于每一个对象之内
static data members 、Static和nonstatic的函数成员 存放在所有的对象之外
virtual 函数成员
1.由每一个class产生一堆指向virtual functions的指针,放在表格中,这个表格为虚表【vitrual table(vtbl)】,借鉴了简单对象模型和表格驱动对象模型。
2.每个对象被添加一个指针,指向相关的虚表,这个指针被叫做vptr. vptr的设定、重置、都有每个class的构造、析构、拷贝自动完成。
优点:空间和存取时间的效率 缺点:增加、修改对象的nonstatic 数据成员,其他代码得重新编译。