标准C++语言-类的继承

一、类的继承

  • 共性与个性
    • 共性,表达不同类型事务之间共有的属性和行为
    • 个性,用于刻画每种事物持有的属性和行为。
  • 共性表示为父类基类),个性表示为子类派生类
    • 子类继承自父类
    • 基类派生出子类

二、继承的基本语法

  • 继承表
    • 一个子类可以同时继承零到多个父类,每个父类的继承方式可以相同也可以不同
class 子类:继承方式1 父类1,继承方式2	父类2,...
{

}
  • 继承方式
    • public 共有继承:父类的特性可通过子类向外扩展
    • private 私有继承:父类的特性只能为子类所有
    • protected 保护继承:父类的特性只能在继承链内扩展

三、继承的基本特点

  • 公共特点所有继承都具备的特点):
    • 子类对象可以当做父类对象使用
    • 子类对象与父类对象没有本质上的区别
    • 子类的逻辑空间小于父类
    • 物理空间大于等于父类
    • 子类对象 IS A 父类对象
  • 向上和向下转换造型):
    • 从子类到父类,子类的指针或引用可以隐式转换成父类的指针或引用,这是一种缩小类型的转换,对于编译器来说是安全的;(父类指针指向子类对象,是安全的)
    • 从父类到子类,父类的指针或引用不可以转换成子类的指针或引用,这是一种扩大类型的转换,在编译器中看来是危险的。(子类的指针指向父类的对象,不安全)
    • 编译器仅仅是检查指针或引用的数据类型,而对实际引用的目标对象不关心(构成多态的基础)
  • 类型一致
    • 父类的指针或引用类型是否需要转换成实际的指针或引用由程序员自己决定。
  • 子类会继承父类的所有成员(公开、私有、保护)
  • 子类会隐藏父类的同名成员,但也可以通过方法访问父类中的隐藏成员
    • 可以通过域限定符 父类::隐藏成员,进行访问父类中的隐藏成员
    • 可以使用指针或引用来指向子类对象,然后访问父类中的隐藏成员
  • 虽然子类继承所有父类中的成员,但不能访问父类中的私有成员

四、继承方式影响访问控制

  • 访问控制限定符
访问控制限定符内部子类外部友元
public可以访问可以访问可以访问可以访问
private可以访问可以访问不可以访问可以访问
protected可以访问不可以访问不可以访问可以访问
  • 继承方式的影响范围
父类(基类)中在公有子类中变成在保护子类中变成在私有子类中变成
public公有成员保护成员私有成员
private保护成员保护成员保护成员
protected私有成员私有成员私有成员
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值