目录
- 面向对象编程
- Composition(复合)
- 构造和析构
- Delegation(委托)
- Inheritance(继承)
- 虚函数与多态
- 继承和composition关系下的构造和析构
- Delagation(委托)和Inheritance(继承)
- 关于虚函数与纯虚函数、非虚函数
面向对象编程
为什么需要面向对象编程?
为了让类和类之间发生关系。
Composition(复合)
表示has-a(有一个的关系)
构造和析构
其中红色的是C++为我们实现的。
Delegation(委托)
也叫Composition by reference(以指针复合)
Inheritance(继承)
表示is-a的关系
子类指向父类
继承函数,其实是继承的函数的使用权。
虚函数与多态
为什么会有这个模式?
一般地,可以先把共同的部分先写好,然后需要具体根据场景分别写的部分再交给子类完成。
继承和composition关系下的构造和析构
注意:这里的复合和继承都是先里面,后外面
对于第一种情况,经过测试先后顺序为:先继承,再复合
测试程序如下
Delagation(委托)和Inheritance(继承)
关于虚函数与纯虚函数、非虚函数