本内容源于geekband c++
一.拷贝构造,拷贝赋值,析构
1、用于有指针成员情况
2、拷贝构造 String(const Strting& str)
3、拷贝赋值 Sring& operator =(const String& str)
4、析构函数~string()
图例:
浅拷贝
深拷贝(拷贝构造函数):
拷贝赋值:
一定要检查自我赋值:
二、类之间的关系
1.复合
2.委托
3.继承
复合:has-a
例子如图:
queue里面什么也不做,全通用对象c里面的方法实现。
委托
图例:
string里面也是空的,里面内容通过一个指针指到的另外一个对象里面实现。
继承:is-a的关系
图例
虚函数:
非虚函数:不希望子类重写
非纯虚函数:有默认定义,但是希望子类重写覆盖他
纯虚函数:没有默认定义,子类一定要重写