继承与派生以及虚基类小结

继承就是利用原来声明的类作为基础,再加上新的内容,以减少重复的工作量

  • 一个派生类只从一个基类派生叫做单继承
  • 一个派生类有两个或多个基类的叫做多重继承
  • 继承和派生的关系可以表述为派生类是继承的具体化,而基类是派生类的抽象

声明派生类的一般形式为:
class 派生类名:[继承方式]基类名
{
派生类新加的成员
};

继承方式包括:public,private和protected

构成一个派生类应该包含以下3部分:

  • 从基类接收成员,派生类把基类全部的成员(不包括构造函数和析构函数)接收过来
  • 调整从基类接收的成员,可以改变基类成员在派生类中的访问属性等
  • 在声明派生类时增加的成员,体现了派生类对基类功能的扩展

派生类的访问属性:

  • 公用继承
    基类的公有成员和保护成员在派生类中保持其原有访问属性,其私有成员仍为基类私有(不可访问)

  • 私有继承
    基类的公有成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有

  • 受保护的继承
    基类的公有成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。保护成员的意思是,不能被外界引用,但可以被派生类的成员引用
    注:保护成员可以被派生类的成员函数引用

多级派生
类A为基类,类B为类A的派生类,类C为类B的派生类,此时类B称为类A的直接派生类,类C称为类A的间接派生类

派生类构造函数:
一般形式,
派生类构造函数名(总参数表):基类构造函数名(参数表)
{
派生类中新增数据成员初始化语句
}

注意:这里不是定义基类构造函数,而是调用基类构造函数,因此这些参数是实参而不是形参,可以是常量,全局变量和派生类构造函数总参数表中的参数

有子对象的派生类构造函数:

Student s1;//Student是已经声明的类名,s1是Student类的对象

这时s1是类对象中的内嵌对象,称为子对象,即对象中的对象
一般形式:
派生类构造函数名(总参数表):基类构造函数名(参数表),子对象名(参数表)
{
派生类中新增数据成员初始化语句
}

多重继承派生类的构造函数:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值