C++对象的内存布局---多继承

 多继承中,一个派生类可以有多个基类.多继承是C++颇受争议的一个语法特性,它就像一把双刃剑,在提供便利及强大功能的同时,也带来了一些容易使人产生错误的不便.在此主要说明一下多继承时对象的内存分布:

1. 与单继承相同,首先创建基类的对象,但要遵循一定的顺序,这个顺序是由派生类声明时决定.

2. 和单继承也一样,虚函数表的指针还是在基类的开始部分.

3. 多继承要注意二义性. 一个典型的情况就是"菱形继承".A 直接派生B,C.B,C又都是D的基类.这样,在D中运用方法时出现二义性错误,解决的方法可以加上类限定符来指明是使用的哪个类中的方法. C++ 提供了一种虚拟继承机制,当使用虚拟继承时,公共的基类只存在一个实例,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值