

将模板替换进来

如此我们可以说,queue里面有deque,二者是复合关系
看图来表示 黑色菱形 表示里面有东西
queue拥有c之后,就可以使用c的函数和数据
这同时也是 Adapter适配器模式的思想

queue拥有c后 也即拥有c的全部内存空间

构造由内而外 析构由外而内

String中用一个指针 指向StringRep,即为委托关系,画图就是空心菱形,表示指针
二者的生命周期不同步,StringRep只有在用到的时候 才会创建
StringRep可以由多个类共享,当一个类要改变StringRep内容的时候,系统提供一份
StringRep的副本让String改,这叫做copy on write

继承关系,从子类往父类,画一个空心三角形,子类中的T表示模板
使用public继承,是表达 is-a ,是一种 的关系
父类的数据 完整的被子类继承

从内存的角度去看,继承就是子类的对象中有父类的成分
构造由内而外 析构由外而内 父类的析构函数必须为 virtual