C++面向对象第三周笔记<Boolan>
2017-07-28 16:10
176 查看
类与类的关系:组合、继承、委托
Inheritance(继承)
composition(复合)
decegation(委托)
composition 表示has-a,我体内有另外一个东西
A拥有B,A所有的功能可以都由B完成,B或许更强大,随便开放一些功能就可以满足A的需要。
A所占内存的大小是根据B所拥有数据的内存和确定的。
composition关系下的构造与析构
构造是A所拥有的B先执行构造,然后才是A执行构造,由内而外进行。
析构是A先执行析构,然后执行B析构,是由外到内的。
Decegation, composition by reference
在class内,通过一根指针,指向另外一个类,从而调用另一个类的功能。与composition类似,只是composition是真实拥有,Decegation只是拥有一个指针。
Inheritance,表示is-a
父类的数据是被完整继承下来的。
inheritance关系下的构造与析构
子类的构造函数首先调用父类的default构造函数,然后执行自己。
子类的析构函数首先执行自己,然后才调用父类的析构。
Inheritance with virtual functions(虚函数)
在继承的关系内,所有的东西都可以被继承下来,Data可以,是占用的内存一部分,函数也可以被继承下来,函数的继承,继承的是调用权。
在语法上,我们只要在任何成员函数之前,加关键字virtual,就成为一个虚函数。
non-virtual函数:你不希望子类override它。
virtual函数:你希望子类override它,并且你对他已有默认定义。
pure virtual函数:你希望子类一定要override它,你对它没有任何默认定义。
纯虚函数子类一定要override,空虚函数就可以不override。
Inheritance(继承)
composition(复合)
decegation(委托)
composition 表示has-a,我体内有另外一个东西
A拥有B,A所有的功能可以都由B完成,B或许更强大,随便开放一些功能就可以满足A的需要。
A所占内存的大小是根据B所拥有数据的内存和确定的。
composition关系下的构造与析构
构造是A所拥有的B先执行构造,然后才是A执行构造,由内而外进行。
析构是A先执行析构,然后执行B析构,是由外到内的。
Decegation, composition by reference
在class内,通过一根指针,指向另外一个类,从而调用另一个类的功能。与composition类似,只是composition是真实拥有,Decegation只是拥有一个指针。
Inheritance,表示is-a
父类的数据是被完整继承下来的。
inheritance关系下的构造与析构
子类的构造函数首先调用父类的default构造函数,然后执行自己。
子类的析构函数首先执行自己,然后才调用父类的析构。
Inheritance with virtual functions(虚函数)
在继承的关系内,所有的东西都可以被继承下来,Data可以,是占用的内存一部分,函数也可以被继承下来,函数的继承,继承的是调用权。
在语法上,我们只要在任何成员函数之前,加关键字virtual,就成为一个虚函数。
non-virtual函数:你不希望子类override它。
virtual函数:你希望子类override它,并且你对他已有默认定义。
pure virtual函数:你希望子类一定要override它,你对它没有任何默认定义。
纯虚函数子类一定要override,空虚函数就可以不override。
相关文章推荐
- C++面向对象第四周笔记<Boolan>
- C++面向对象第二周笔记<Boolan>
- Boolan-C++开发工程师-C++面对对象高级编程(上)- 第三周笔记
- Java笔记2 面向对象<1>面向对象概述、构造代码块、匿名对象、this关键字等
- Geekband_C++面向对象高级编程_第三周学习笔记
- Boolan C++面向对象高级编程(上)第二周笔记
- Boolan c++面向对象下 第二周笔记
- 面面向对象过程总结笔记<一>
- GeekBand C++ 面向对象高级编程(下) 第三周笔记
- 面向对象程序设计-C++ Default constructor & Copy constructor& Destructor & Operator Overloading【第九次上课笔记】
- (Boolan)C++设计模式 <三> ——策略模式(Strategy)
- Boolan——C++开发工程师——C++面对对象高级编程(上)—— 第一周笔记
- 面向对象与C++程序设计-向量和迭代器学习笔记
- c++面向对象笔记
- <<面向模式的软件架构2-并发和联网对象模式>>读书笔记
- c++面向对象之复合(composition)、委托(delegation)、继承(inheritance)--(boolan)
- <More Effective C++>笔记--其他杂项
- C++面向对象笔记:多态
- 【博览网】面向对象高级编程(上)——第三周课程笔记
- 面向对象<2>__笔记(12)