C++虚拟继承

本文介绍了C++中虚拟继承的概念及语法,解释了如何避免派生类中出现多个相同基类副本的问题。并阐述了多重继承下构造函数的执行顺序。

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

C++使用虚拟继承(Virtual Inheritance),使得派生类如果继承基类多次,但只有一份基类的拷贝在派生类对象中。
虚拟继承的语法:
class 派生类: virtual 基类1,virtual 基类2,...,virtual 基类n{
...//派生类成员声明
};
也就是说当一个派生类类有多个基类,而这多个基类,基类1,基类2、、、又同时继承一个共同基类3,这样就会使派生类中有了两个来路不同的基类3,所以加visual标明只拷贝一份共同的基类到派生类
所以在你的那段代码里是没有用的
多重继承构造执行顺序
首先执行虚基类的构造函数,多个虚基类的构造函数按照被继承的顺序构造;
执行基类的构造函数,多个基类的构造函数按照被继承的顺序构造;
执行成员对象的构造函数,多个成员对象的构造函数按照申明的顺序构造;
执行派生类自己的构造函数;
析构以与构造相反的顺序执行;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值