C++程序设计之继承

2024-10-29 03:40:47

1、继承的含义: 先找出大部分事物共性的部分,形成基本的类使它具有一些基本的数据成员和一些基本的成员函数,以实现基本的功能。 然后根据需要再在这个类的基础上派生出新的类来,这个新类首先一定具有基础类的所有的数据成员和函数成员,也就是具有这个基础类的所有功能,同时它还应有一些自已特有的成员,实现一些区别于基础类的功能。

C++程序设计之继承

3、派生类说明也是类说明,不过需要指明它所继承的基类,同时在类的成员中可增加一类保护成员。

C++程序设计之继承

5、C++语言中继承有两种,单继承和多继承

C++程序设计之继承

6、基类成员在各自派生类中的存取权限见下表

C++程序设计之继承

10、释放派生类对象的步骤与创建的步骤正好相反:

C++程序设计之继承

17、多重继承(具有多个基类)情况下二基类间成员重名时,要按如下方式进行处理:1、不加类名限定时默认为是处理派生类成员。2、要访问基类重名成员时,则要通过类名限定。

C++程序设计之继承

19、多级混合继承导致在CD的对象中有两个CA的对象,出现二义性问题。解决这种二义性的方式有两种:•使用类名限制CDobj.CB1::aCDobj.CB2::a

20、•使用虚基类虚基类是在出现继承关系时才被定义,只在派生类和基类间有效。说明方式为:在派生类B,C,…… 定义的基类表中,关于基类A 的说明中,增加关键字“virtual”。注:使用虚基类时,类B和类C共享1个类A的拷贝

C++程序设计之继承

21、 若虚基类的构造函数具有参数的话,则对其任何一个直接或间接派生类的构造函数来说,它们的成员初始化列表中都必须包含有对该虚基类构造函数的直接调用。 在派生类构造函数的成员初始化列表中,若有虚基类构造函数调用的话,则对它们的调用将优先于非虚基类构造函数。

22、 如果虚基类的构造函数没有参数、或者根本就没提供显式的虚基类构造函数的话(表示用该虚基类的无参构造函数或系统默认构造函数来完成有关的初始化工作),对其任何一个直接或间接派生类的构造函数来说,它们的成员初始化列表中都不再需要包含有对该虚基类构造函数的直接调用。

猜你喜欢