C++类的继承与派生

本文详细介绍了C++中的类继承与派生概念,包括公共继承、私有继承和保护继承的差异,以及派生类的构造函数执行顺序。此外,还提及了虚基类的作用以及类型兼容规则。了解这些知识点有助于实现代码重用和类层次结构的设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++类的继承与派生

定义

继承就是在一个已有类的基础上建立一个新类。已有类称为基类(=父类);
派生就是已有类产生新类。新类称为派生类(=子类)
功能:代码重用

派生类的定义语法

// An highlighted block
class 派生类名:继承方式 基类名1,继承方式 基类名2
{新成员}

1.继承方式有:public,private,protected —— 省略,默认私有继承

私有继承:父类的public,protected成员成为子类private成员 ,子类无法直接访问父类private成员。
公有继承*:父类的public,protected成员成为子类public,protected成员(相当于不变) ,子类无法直接访问父类private成员。
保护继承*:父类的public,protected成员成为子类protected成员 ,子类无法直接访问父类private成员。

protected成员可以被派生类访问,不能被外部访问(主函数调用)
private成员不能被派生类访问,不能被外部访问
2.一个父类可以有多个子类,一个子类也可有多个父类
3.派生类可作为基类继续派生新类
4.构造析构函数不继承
5.类型兼容规则:任何用基类的地方可用子类替代
基类指针无论指向基类对象还是派生类对象,最后都是访问基类成员。

虚基类

减少同名函数继承产生的多个副本
在这里插入图片描述

执行次序

1.对象创建时代码的加载顺序为:静态代码 --> 非静态代码 --> 构造方法
2.父类的静态的代码 --> 子类的静态的代码 --> 父类内部非静态代码 --> 父类的构造方法 --> 子类的非静态代码 --> 子类的构造方法。
3.创建派生类对象,构造函数的执行顺序
基类构造函数,派生类对象成员构造函数,派生类本身的构造函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值