类派生过程及类型兼容

什么是派生/继承?
派生就是以原有的类为基础产生新的类。
派生的好处:
提高代码的重用性,扩展性。
派生类的定义:
class 子类名 :继承方式(public , protect , private)基类名,继承方式 基类名
{
派生类成员声明
}
如果不显式的给出继承方式,默认为私有继承。private
继承/派生过程:
1. 吸收已有基类成员: 除了构造函数及析构函数,所有的基类成员全部被派生类吸收。
2. 调整已有基类成员:
2.1 基类成员的访问控制
2.1.1 基类公有成员
public & public 继承 = public
public & protected 继承 = protected
public & private 继承 = private
2.1.2 基类保护成员
protected & public 继承 = protected
protected & protected 继承 = protected
protected & private 继承 = private
2.1.3基类私有成员继承
private & public 继承 = 子类不可见
private & protected 继承 = 子类不可见
private & private 继承 = 子类不可见
注意: protected 属性的成员只能被本类或者子类的成员函数访问,不能通过类对象访问。
2.2 对基类数据成员或者函数成员的覆盖或者隐藏
3. 添加新的成员
3.1 一般数据成员及函数成员的添加
3.2 构造函数及析构函数的添加: 充分考虑构造函数对基类成员的构造及析构
派生类构造函数和析构函数:

类型兼容规则
在任何需要基类对象的地方,都可以使用公有派生类对象来代替。代替之后,程序内部对基类成员进行复制。只能使用基类对象的成员。
使用形式:
1. 公有派生类对象可以隐含转换为基类对象
2. 公有派生类对象可以初始化基类的引用
3. 指向公有派生类对象的指针可以隐含转换为指向基类对象的指针。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值