C++公有派生
C++中的公有派生:
1、格式:Class A:public B{...}:
例如我们先声明了一个基类:SafeIntArray,当我们要声明它的派生类IndexIntArray时,格式如下:
2、派生类的构造函数:
(1)派生类不能直接访问基类的私有成员,需要通过基类的构造函数;
(2)基类对象必须先被构造,如果没有使用基类的构造函数,程序将调用基类的默认构造函数;
(3)为了能先构造出基类对象,C++一般在派生类的构造函数中使用成员初始化列表来构建并初始化基类对象:
3、派生类的析构函数:当派生类被释放时,程序会先调用派生类的析构函数,再调用基类的析构函数。
4、派生类的使用:
(1)派生类能够使用基类的非私有方法,如果基类的方法与派生类的某些方法相同,那么在调用时需加上类名,即 class_name :: function_name()。假如基类和派生类都有方法:fun(),当我们重写派生类的fun()的代码中需要用到基类的fun()时,记得加上域名,否则会变成一个无法终止的递归函数。
(2)基类的指针能够在非显式转换下指向派生类对象,基类的引用也可以在不显式转换的情况下指向派生类。反之不行,即不能把基类的对象和地址赋给派生类的引用和指针,如:
//End.