1.什么是基类,什么是派生类?
答:派生类与基类存在以下继承关系:
(1)前者包含后者的数据成员与方法。
(2)增加行的数据成员和方法,新的方法包括对后者的一些方法的改进、特化。
(3)继续使用在后者基础上开发的应用程序。
C++用派生类和基类表示这种关系。
2.什么是多态性?
答:在基类基础上开发的应用函数,使其能在派生类中使用。
如果给基类的应用函数传递给形参的上派生类对象的引用或指针,那么应用函数调用的就是派生类的方法,这种机制称为多态性。
3.实现多态的机制是什么?
答:为了实现多态性,需要在基类中用关键词virtual将方法声明为虚函数。基类的虚函数在派生类中依然是虚函数,即使没有修饰词virtual。值传递无法实现多态性。
4.为什么要把析构函数声明为虚函数?
答:在继承关系中,一个派生类对象,其构造函数的执行顺序是先基类构造函数,再派生类构造函数。其析构函数的执行顺序正好相反,先派送类析构函数,在基类析构函数。
多态性使运算符new生成的派生类对象可以传址给一个基类指针,为了利用基类指针时能撤销派生类对象。
5.举例说明纯虚函数的意义?
答:纯虚函数可以提供接口,以计算面积为例,现实中只有具体的形状,如三角形、矩形、梯形、圆形等,但是每一种形状的面积计算和输出,它们的接口可以是一样的。接口归于纯虚函数,具体算法归于派生类。