3、C++ 多态、虚函数与多重继承深入解析

C++ 多态、虚函数与多重继承深入解析

1. 空基类优化与私有继承

在某些情况下,创建大量派生对象时,空基类优化能显著节省内存。而使用私有继承的另一个原因与虚函数有关。

2. 多态与虚函数
2.1 多态的概念

在之前讨论的公共继承中,派生对象可在需要基类对象的任何地方使用。但很多时候,了解对象的实际类型很有用。例如:

Derived d;
Base& b = d;
b.some_method(); // b 实际上是 Derived 对象

some_method() 是基类 Base 公共接口的一部分,派生类 Derived 也必须保证其有效性。但在基类接口约定的灵活性范围内,它可以有不同的实现。

以鸟类层次结构为例, FlyingBird 类有 fly() 方法,所有从它派生的具体鸟类类都必须支持飞行。但鹰和秃鹫飞行方式不同,所以在派生类 Eagle Vulture 中, fly() 方法的实现可以不同。任何操作任意 FlyingBird 对象的代码都可以调用 fly() 方法,但结果会因对象的实际类型而异。

2.2 虚函数的实现

在 C++ 中,这种功能通过虚函数实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值