Object Based (基于对象) vs. Object Oriented (面向对象)
Object Based : 面对的是单一 class 的设计
Object Oriented : 面对的是多重 classes 的设计, classes 和 classes 之間的关系
基于对象(Object Based):
class without pointer members — Complex
- 可以使用默认的拷贝构造函数和拷贝赋值函数
- 默认的拷贝构造函数和拷贝赋值函数由编译器根据需要自动生成,执行浅拷贝
- 不带指针的类多半不需要析构函数
class with pointer members — String
- 最好是自定义拷贝构造函数和拷贝赋值函数,自定义实现深拷贝
- 一般需要析构函数
面向对象(Object Oriented):
- 继承(inheritance)
- 组合(composition)
- 委托(delegation)
C++包括两部分:C++语言和C++标准库