ADT OO OB 的区别

C++同时支持OO和OB两种设计。

OOObject Oriented ,支持多态这一强大的设计机制,需要付出的代价便是额外的间接性(virtual机制)。

OBObject Based ,非多态的数据封装模型,就是ADT(Abstract Data Type)的概念,和OO相比拥有更快的速度而且空间更紧凑(因为不需要virtual)。例如CString ,String 类

OO和OB的设计其实就是在弹性和效率之间的取舍。

-- 《Inside The C++ Object Model》

 

原文地址http://hi.baidu.com/sinbh/blog/item/43bb3c54975604193a293590.html