C++之继承和派生

概述

在这里插入图片描述
继承的优点:减少代码的冗余 提高代码的重用性

继承的分类

继承方式分类:
public : 公有继承 (重要)
private : 私有继承
protected : 保护继承
父类个数分类:
1.单继承:指每个派生类只直接继承了一个基类的特征 (一个父类 派生出 一个子类)

2.多继承:指多个基类派生出一个派生类的继承关系,多继承的派生类直接继承了不止一个基类的特征(多个父类 派生出 一个子类)
注意:
子类继承父类,子类拥有父类中全部成员变量和成员方法(除了构造和析构之外的成员方法),但是在子类中,继承的成员并不一定能直接访问,不同的继承方式会导致不同的访问权限。

权限

不管是什么继承方式,父类中的私有数据在 子类中不可见
在这里插入图片描述
在这里插入图片描述

继承中的 子类、父类、对象成员的构造和析构顺序

在这里插入图片描述
注意:
1、子类会默认调用 父类的 无参构造
2、子类 必须显示 使用初始化列表 调用 父类的有参构造

Son(int a,int b):Base(a),b(b)
{
    //this->b = b;
}

父类和子类的同名 成员变量 处理

1、当 父类和子类 成员变量同名时 ,在子类就近原则 选择本作用域的子类成员。
2、如果在子类中必须使用父类中的同名成员 ,必须加上父类的作用域。
3、子类可以借助 父类的公有方法 间接的操作 父类的私有数据(不可见的数据)
如果子类和父类的成员函数同名,访问父类中的成员函数,需要加上父类的作用域。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值