Geekband_C++面向对象高级编程_第三周学习笔记
来源:互联网 发布:那个淘宝网站的商品是正品 编辑:程序博客网 时间:2024/05/21 10:23
(1)类与类之间的关系
组合 composition has-a 关系,
继承 inheritance is-a 关系
委托 delegation 是 Compsition by reference 指针。
compositon 的析构和构造, 构造由内而外(建房子), 析构由外而内 (拆房子)。
构造,Container先调用Component的构造函数,再调用自己的构造函数。Container::Container():Component(){...}
析构,Container先调用自己的析构函数,再调用Component的析构函数。Container::~Container(){... ~Component()}
(2)inheritance 的构造和析构,构造由内而外(建房子), 析构由外而内 (拆房子)。
构造,Derived先调用Base的构造函数,再调用自己的构造函数。Derived::Derived():Base(){...}
析构,Derived先调用自己的析构函数,再调用Base的析构函数。Derived::~Derived(){... ~Base()}
(3)继承和虚函数 inheritance with virtual functions
虚函数:基类中的成员函数,虚函数重新定义 override
non-virtual函数,不希望派生类重新定义它。void draw();
virtual函数,希望派生类重新定义,且基类对此已有默认定义。virtual void draw();
pure virtual 函数,希望派生类一定要重新定义它,基类对它没有默认的定义。virtual void draw() = 0;
(4)继承和组合 Inheritance & Composition,构造由内而外, 析构由外而内 。
第一种情况:构造 Base -> Component -> Derived 析构 Derived -> Component -> Base
第二种情况:构造 Component -> Base -> Derived 析构 Derived -> Base -> Component
- Geekband_C++面向对象高级编程_第三周学习笔记
- Geekband_C++面向对象高级编程_第五周学习笔记
- Geekband_C++面向对象高级编程_第六周学习笔记
- 学习笔记_面向对象编程
- geekband_c++学习笔记1
- Geekband C++面向对象高级编程(上) 第三周笔记 暗影行者
- GeekBand C++ 面向对象高级编程(下) 第三周笔记
- Boolan C++面向对象高级编程(上)第三周笔记
- 【博览网】面向对象高级编程(上)——第三周课程笔记
- GeekBand笔记-《C++面向对象高级编程(上)》 第三周
- 【面向对象(高级)】_包装类笔记
- 【面向对象(高级)】_包装类笔记
- 《csharp高级编程》 学习笔记 第三章 对象和类型
- 《C#高级编程》【第三章】对象和类型 -- 学习笔记
- python学习笔记(七) - 面向对象高级编程
- Python面向对象高级编程——学习笔记
- C++面向对象高级编程(上)学习笔记
- C++面向对象高级编程(上)学习笔记
- IT发展
- Vue2生命周期
- matlab中关于读取.mat文件中的奇偶行数据问题
- 第四章切比雪夫不等式、大数定理、中心极限定理
- Java关键字static和final的理解
- Geekband_C++面向对象高级编程_第三周学习笔记
- android调用外部地图APP导航路线规划全解
- redhat7通过yum安装nginx最新版
- wustoj_1294FJ的字符串
- BUSES AND CONTROLLERS
- 从尾到头打印链表每一个节点的值
- centos6下升级python导致yum无法使用的解决办法
- 毕业季-返璞归真,重新上路
- 二三、vue2与vue1的区别(一)