1、析构函数
1、作用:对象销毁前,做清理工作。
2、函数名:
~类型
没有返回值,没有参数,最多只能有一个析构函数,
访问权限:一般为public
3、使用方法:
1、不能主动调用
2、对象销毁时,自动调用
3、如果不定义,编译器会自动生成一个析构函数(什么也不做)
2、类的静态方法
1、可以直接通过类来访问【更常用】,也可以通过对象(实例)来访问;
2、在类的静态方法中,不能访问普通数据成员和成员函数(对象的数据成员和成员函数)
3、静态数据成员
1、对象的成员函数(没有static的成员函数)内部,可以直接访问“静态数据成员”;
2、类的静态成员函数(没有static的成员函数)内部,可以直接访问“静态数据成员”;
即:所有的成员函数,都可以访问静态数据成员。
类不能直接访问普通的静态数据成员
4、静态成员函数
1、对象可以直接访问静态成员函数;
2、类可以直接访问静态成员函数;
3、在类的静态成员函数(类的静态方法)内部,不能直接访问this指针和对象的数据成员;
4、在类的静态成员函数(类的静态方法)内部,只能访问类的数据成员。
5、const
1、const数据成员的初始化方式
1、使用类内值(C++11)
2、使用构造函数的初始化列表;(如果同时使用这两个方式,以初始化列表中的值为最终结果)
注意:不能在构造函数或其他成员函数内,对const成员赋值
2、const成员函数
如果一个成员函数内部,不会修改任何数据成员,就把它定义为const成员函数。
6、建模(组合与聚合)
1、组合
A的生命周期与B得生命周期一致
具体组合方式:
1、被组合的对象直接使用成员对象(常用);
2、使用指针表示组合的对象,在构造函数中,创建被组合的对象,在析构函数中,释放被组合的对象。
2、聚合
1、聚合不是组成关系,被包含的对象,也有可能被其他对象包含;
2、拥有者,不需要对被拥有者的对象生命周期负责。