C++公有继承

理解is-a与has-a关系

is-a、has-a和like-a、组合、聚合和继承 两组概念的区别 - cbk861110的专栏 - 博客频道 - youkuaiyun.com http://blog.youkuaiyun.com/cbk861110/article/details/9028189

公有继承强调的是is-a的关系,强调的是一种继承关系,而has-a强调的是一种从属关系。

继承的形式为:  class  derived:public  based

公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,只能通过基类的公有或保护成员访问。

派生类无妨继承基类的构造函数,因此,派生类必须定义自己的构造函数。

派生类构造函数在使用时:

1、必须先调用基类构造函数创建基类  Derived::Derived(....):Based( ){....}

2、派生类构造函数可以通过成员初始化列表将基类的信息传递给基类构造函数。

3、派生类构造函数应初始化派生类新增的数据成员

派生类过期时,必须先调用派生类的析构函数,在调用积累的析构函数  Derived::~Derived(){...... ~baesd();}

 

派生类与基类之间的关系

1、派生类只能调用基类的公有成员,对于私有成员则只能通过基类的公有成员或保护成员调用

2、基类指针和引用可以在不进行显示转换的情况下指向派生类对象,即:

①形参为基类引用(或指针)的函数,可以使用基类对象(的地址)或者派生类对象(的地址)作为实参

②可以用派生类对象初始化基类对象

3、基类引用或指针只能用于调用基类方法,不能用于调用派生类的方法

 

转载于:https://www.cnblogs.com/wujing-hubei/p/5353046.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值