NoFear

导航

第一章 关于对象

Posted on 2012-05-14 22:20  Fear_Hao  阅读(118)  评论(0编辑  收藏  举报
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 数据成员,其他代码得重新编译。