C++核心编程(二十三)多继承,及菱形继承的解决方法

本文探讨了C++中的多继承概念,强调在访问同名函数时需使用作用域访问符。针对菱形继承问题,提出了采用虚基类(爷爷类)来解决,以减少内存浪费。此外,介绍了虚继承的概念,它确保来自共同父类的数据在多继承子类中不重复,从而避免资源浪费。
摘要由CSDN通过智能技术生成
*指针占的字节不同,64系统下占8个字节。
*32位的系统中占4个字节

1)当一个类继承多个类的时候,如果要访问同名函数,需要添加作用域访问符。
2)菱形继承的问题,是指几个父类的两个类具有很多相同的属性,我们可以为父类设计一个父类的父类,也就是爷爷类,爷爷类中就是这些相同的属性,这样可以减少子类所占的内存。(这里的爷爷类也叫虚基类)
3)多继承会把每个继承的类的数据都继承一份,这也导致了如果父类中有很多相同的数据会浪费,为了防止这种情况,引入了虚继承。
4)虚继承的作用就是让来自爷爷类的数据通过父类传给子类的时候,如果多继承,实际上都是来自爷爷类,相同部分就不重复继承了,因为本质上都是属于爷爷类的。

#include<iostream>
using namespace std;
class animal
{
   
public:
        int age;
        int age_ectype;
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值