C++程序设计模型直接支持三种programming
- 程序模型(面向过程):就像C一样,C++当然也支持它;
- 抽象数据类型模型(ADT abstract data type model 如今称之为OB object-based):所谓的“抽象”是和一组表达式(public 接口)一起提供的,那时其运算定义仍然隐而未明。例如string;
- 面向对象模型(OO object-oriented model):一些彼此相关的类型,通过一个抽象的base class(用于提供共同的接口)被封装起来。
OB和OO的区别:一个OB设计可能比一个对等的OO设计速度更快而且空间更紧凑。速度快是因为所有的函数调用操作都在编译时期解析完成,对象建构起来时不需要设置virtual 机制;空间紧凑则是因为每一个class object不需要负担传统上为支持virtual机制而需要的额外负荷。不过,OB设计比较没有弹性。