GeekBand-笔记-02

一、
三大函数

1、
拷贝构造

带指针成员的class必须有。因为兄弟之间互相是friend,所以可以直接取另一个object的私有数据。

2、
拷贝赋值

带指针成员的class也必须有。必须检测是否自我赋值。

3、
析构函数

做出必要的清理

二、
堆、栈与内存管理

1、
堆的概念,栈的概念

2、
栈上,局部变量、静态变量、全局变量的生存期;

3、
堆内存的清理,尤其是delete数组的时候注意写法

4、
new的时候,先分配内存,然后调用构造函数;delete的时候,先调用析构函数,然后清理内存。(malloc和free)

5、
class里的static
member functions和static data members,特别地,注意直接通过类名访问和通过对象名访问

6、
把构造函数放在private区以实现单例模式的方式

三、
类模板、函数模板,以及其它

1、
类模板的基本形式(贼基础)

2、
函数模板的基本形式(如上)

3、
命名空间的三种使用形式

四、
组合与继承

1、
一个类包含另一个类,称为组合,has-a关系;被包含的class作为包含class的成员

2、
注意组合方式下,构造由里及外,析构从外到里

3、
一个类由另一个类派生,称为继承,is-a关系。父类/子类的概念。

4、
继承关系下。子类构造函数先调用父类的构造函数,子类析构函数先执行自己再继续调用父类的析构函数。父类的析构函数必须是virtual的。

5、
non-virtual、virtual、pure virtual的区别

6、
侯老师接着开始整起了mfc,他在大陆的成名作……深入浅出mfc

7、
在同时具有继承关系和复合关系的情况下。一个派生出来的复合类,构造函数先执行父类的,再执行复合进来的,最后执行自己的。它的析构函数则满足先执行自己的、然后是复合进来的、然后是父类的顺序。

五、
其他

尤其注意侯老师引入的一些设计模式,正好复习一下。

你可能感兴趣的:(GeekBand-笔记-02)