|
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式程序设计语言 > 嵌入式C/C++程序设计要求 > C++程序设计基础 > 继承与多态 >
|
相关知识点:2个
|
|
|
|
通过类继承,在程序中可以复用基类的代码,并可以在继承类中增加新代码或者覆盖被继承类(基类)的成员函数,为基类成员函数赋予新的意义,实现最大限度的代码复用。
|
|
|
|
|
访问权限是访问控制说明符,它可以是public、private或protected。
|
|
|
派生类与基类是有一定联系的,基类描述一个事物的一般特征,而派生类有比基类更丰富的属性和行为。如果需要,派生类可以从多个基类继承,也就是多重继承。通过继承,派生类自动得到了除基类私有成员以外的其他所有数据成员和成员函数,在派生类中可以直接访问,从而实现了代码的复用。
|
|
|
派生类对象生成时,要调用构造函数进行初始化,其过程是:先调用基类的构造函数,对派生类中的基类数据进行初始化,然后再调用派生类自己的构造函数,对派生类的数据进行初始化工作。当然,在派生类中也可以更改基类的数据,只要它有访问权限。基类数据的初始化要通过基类的构造函数,而且它要在派生类数据之前初始化,所以基类构造函数在派生类构造函数的初始化表中调用。
|
|
|
|
其中,“参数表1”是派生类构造函数的参数,“参数表2”是基类构造函数的参数。通常情况下,参数表2中的参数是参数表1的一部分。也就是说,用户应该提供给派生类所有需要的参数,包括派生类和基类。如果派生类构造函数没有显式调用基类的构造函数,编译器也会先调用基类的默认参数的构造函数。如果派生类自己也没有显式定义构造函数,那么编译器会为派生类定义一个默认的构造函数,在生成派生类对象时,仍然先调用基类的构造函数。
|
|
|
析构函数在对象被销毁时调用,对于派生类对象来说,基类的析构函数和派生类的析构函数也要分别调用,不过不需要进行显式的析构函数调用。析构函数调用次序与构造函数调用次序正好相反。
|
|
|
访问说明符public、private或protected控制数据成员和成员函数在类内和类外如何访问。当一个类的成员定义为public,就能够在类外访问,包括它的派生类;当一个成员定义为private,它仅能在类内访问,不能被它的派生类访问。当一个成员定义为protected,它能在类内和其派生类内被访问。当一个成员没有指定访问说明符时,默认为private。在定义派生类时,访问说明符也能出现在基类的前面,它控制基类的数据成员和成员函数在派生类中的访问方法。当访问说明符为public时,基类的公有成员变为派生类的公有成员,基类的保护成员变为派生类的保护成员;当访问说明符为protected时,基类的公有和保护成员均变为派生类的保护成员;而当访问说明符为private时,基类的公有和保护成员均变为派生类的私有成员。
|
|
|