一个派生类只从一个基类派生称为单继承,当然一个派生类从多个基类派生称为多重继承

接下来就是重点了
派生类的声明方式:
很简单,只需要在新的类上稍微添加一点东西就是派生类了

class 派生类名 :继承方式 基类名
例:

class student       // (基类)
{
    ......        //基类数据
};

class student1 : public student    //   (派生类)
{
    ......      //派生类数据
}

什么是继承方式呢,咦?是不是很眼熟
没错继承方式和类内成员访问限制符一样,而且这里还要引入一种新的成员访问限制符
public、private和protected
这让我们后面再说

回到刚才话题,既然是继承,那么都继承点什么呢?除了继承还有其他用吗?
(1)从基类接收成员
派生类把基类全部的成员(不包括构造函数、析构函数、友元函数以及new和delete函数)接收过来
也就是说是没有选择的,不能选择接受其中一部分成员,而舍弃另一部分成员

(2)调整从基类接受的成员
接收基类成员是程序人员不能选择的,但程序人员可以对这些成员做某些调整
一般是通过继承方式来调整的
继承方式和基类成员访问限定符决定派生类成员访问属性

还有就是在派生类中可声明与基类成员、成员函数名称相同的成员和函数
这样会使派生类的成员或函数取代、覆盖基类成员或函数
(如果是覆盖成员函数,函数参数个数和类型要相同,否则就不是覆盖而是重载了)

(3)在声明派生类时增加的成员
这部分就好理解了,就是考虑好在派生类中新增哪些需要但基类中没有的东西,在声明时加进去
某些特殊的函数要注意下,比如无法继承的构造函数和析构函数,在派生类中要自己加入

收藏 打印