一、
三大函数
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、
在同时具有继承关系和复合关系的情况下。一个派生出来的复合类,构造函数先执行父类的,再执行复合进来的,最后执行自己的。它的析构函数则满足先执行自己的、然后是复合进来的、然后是父类的顺序。
五、
其他
尤其注意侯老师引入的一些设计模式,正好复习一下。