c++对象模型—阅读之一
第一张的标题是关于对象,书上的描述我就不再说了,说说我自己的想法和启示吧。
关键词:
class hierarchy 类得层次结构
这个词比较不错,c++用class hierarchy 将有逻辑联系的对象组织起来。阅读的时候可以轻易的发现他们之间的逻辑联系。而c则用的是让机器更容易理解方式。这就是区别。
对C的宏实现和C++模板定义我认为主要在于对类型的判断的强与弱。
Encapsulation -封装
c++对象模型
1.简单模型独对象
此情况下对象存放的是对象成员的指针(这样为每一个成员制定指针对空间的消耗会比较大)。
2.表格驱动对象模型
对象存储的是2个表格指针,分别指向成员变量和成员函数。
3.对象模型
存储成员变量和Vptr就是一个表格指针。
其中提到一个关于base class Table的运用。
通过在子类中内涵一个指向父类地址的指针,子类通过访问这个
指针继承父类和了解父类的改变。这样父类的改变就不会影响到子类。
关于Struct与class争论的意义不大,注意struct重点在数据萃取而class在数据抽象就对了
多态也就是一个指针与指针域的问题

浙公网安备 33010602011771号