2021-9-7(_3一文读懂public继承和private继承)

本文探讨了C++中的public继承和private继承。public继承遵循'is a'原则,允许基类的功能在派生类中使用,但例子显示企鹅类继承鸟类并实现飞行是不合理的。另一方面,private继承暗示'has a'关系,通常用于实现组件,EBO(Empty Base Optimization)在这种情况下发挥作用,确保空基类不会增加派生类的大小。
摘要由CSDN通过智能技术生成

一,公有继承public:

public继承意味着关系是"is a"关系。适用在base classes 身上的每一件事情一定适用于derived classes身上,因为每一个derived class对象一定是一个base class,也就是说derived可以替换掉base class来完成base class的功能。

下面尝试举个例子来理解下:
先看看企鹅和鸟的关系

class Bird
{
   
public:	
	virtual void fly(); 				//鸟可以飞
	...
}class Penguin:public Bird           //企鹅是一种鸟。难道企鹅会飞?
{
   
...
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值