C++公有继承

Posted wj_hubei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++公有继承相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

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

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

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

 

派生类与基类之间的关系

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

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

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

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

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

 

以上是关于C++公有继承的主要内容,如果未能解决你的问题,请参考以下文章

C++ 为啥要使用公有、私有或受保护的继承?

C++多继承

c++ 类继承时为什么加public

c++ 类继承时为什么加public

c++ 类继承时为什么加public

❥关于C++之私有继承