“类型”是一组操作,“抽象数据类型”则是一组具有某种实现的操作。当我们在某个问题领域中识别对象时,首先考虑的问题是“可以用这个对象做什么”而不是“这个对象是如何实现的”。
C++为创建复杂的抽象数据类型提供了便利。一般都有如下步骤:
1、为类型取一个描述性的名字。(要单一明确)
2、列出类型所能执行的操作。(不要忘了初始化(构造函数)清理(析构函数)复制(复制操作)转换(不带explicit关键字修饰的单参数构造函数和转换操作符))
3、为类型设计接口。(编写一些使用类型接口的代码)
4、实现类型。(对抽象数据类型的实现的改动,远比对其接口的改动来的频繁)