书目《现代C.程序设计》
-
(一)面向对象语言支持的一些原则
模块化、封装、抽象、多态、继承、永久化、并发 -
(二)类和结构体的不同之处
结构中的数据是公有的,类中的数据(在默认情况下)是私有的; -
(三)类之间的关系
use-a(使用关系)、has-a(有关系)、is-a(是关系) -
(四)构造函数
1、构造函数必须和类同名;
2、对象被创建时,系统自动调用构造函数;
3、C++允许重载构造函数;
4、不应该调用构造函数来给对象重新赋值;
5、构造函数没有返回值; -
(五)析构函数
1、对象被销毁时,系统自动调用析构函数;
2、C++不允许重载析构函数;
3、析构函数没有返回值; -
(六)类的继承
类的继承和类之间的是关系紧紧联系在一起,基类为通用类,派生类为基类的一个特例。
一般情形为:class 派生类名:基类访问说明符 基类名
{
访问说明符:
…
}
具体情况如表:
基类访问说明符 | public | protected | private |
---|---|---|---|
基类的public成员 | ->派生类的public成员 | ->派生类的protected成员 | -> 派生类的private 成员 |
基类的protected成员 | ->派生类的protected成员 | ->派生类的protected成员 | -> 派生类的private 成员 |
基类的private成员 | ---------- | ---------- | ---------- |
-
(七)继承后,构造函数和析构函数的调用顺序
1、在创建派生类对象时,先自动执行基类的构造函数(如果有的话),接着是派生类的构造函数;
2、当派生类对象被销毁时,先执行派生类的析构函数,再执行基类的析构函数; -
(八)多态
1、多态在字面上的定义是:“一个界面,多种形式或方法”,比如计算机的光驱,光驱的内容不同,播放的内容也不同,但是无论哪个光驱,其操作方法都是一样的;
2、函数或者操作符的重载叫做编译器多态,运行期多态需要用到继承与虚函数;
3、利用关键字virtual在基类中进行声明了的函数就是虚函数,派生类可以重新定义此函数以满足自己的特殊要求,如果基类中的虚函数没有函数体,就把这个函数叫做纯虚函数,其一般形式是:virtual 返回类型 函数名()=0;