第一章 关于对象

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 数据成员,其他代码得重新编译。
原文地址:https://www.cnblogs.com/guyan/p/2500668.html