您的位置:首页 > 其它

继承的基础知识1——有关继承的基本概念

2016-10-03 14:20 239 查看
1、继承的概念:在一个已知类的基础上创建一个新的类,新类包含了原来类的所有成员,并且还增加了自己的成员,这个过程叫继承。其中被继承的类叫做基类(也称为  父       类),由继承产生的新类叫做派生类(也称为子类)。

2、分类:继承可以分为多重继承和单重继承,多重继承是指基类有多个,而单继承的基类只有一个。

3、派生类的定义格式:

class
<派生类名>:<继承方式>  <基类名>

{

<派生类新增成员>;

}

其中继承方式有多种:

(1)公有方式继承(public);

(2)私有方式继承(private);

(3)保护方式继承(protect);

由不同继承方式产生的派生类对基类的访问权限不同,具体如下:

基类成员在派生类中的访问权限
基类成员public继承方式private继承方式protected继承方式
公有成员  public privateprotected
私有成员privateprivateprivate
保护成员protectprivateprotected
4、关于派生类和基类的访问权限具体如下:

(1)public方式继承

派生类可以访问基类中的公有成员和保护成员,还可以访问自己定义的新成员,但是不能访问私有成员;对于派生类中的对象,该对象只能访问派生类中的公有成员和基类中的公有成员。

(2)private方式继承

派生类可以访问基类中的公有成员和保护成员,但派生类的对象只能访问自己定义的公有成员。

(3)protected方式继承

派生类可以访问基类中的公有成员和保护成员,但派生类的对象只能访问自己定义的公有成员,这和private继承方式很像,只不过是基类的对象对于派生类来说,原本为public的类变味了protected类。

5、例子:由基类产生派生类

/*************************************************************************
时间:2016年10月4日08:30:03
功能:继承的验证,由基类产生派生类
**************************************************************************/
#include <iostream>
using namespace std;

class Animal        //定义基类
{
public:
void breath()
{
cout<<"they all can breath!"<<endl;
}
};

class Dog:public Animal   //定义派生类,继承animal类
{
public:
void special()
{
cout<<"they are humans' friend!"<<endl;
}
};

void main()
{
Dog dog1;     //定义对象
dog1.special();   //调用派生类自己的成员函数
dog1.breath();    //由于是public方式继承,所以可以调用基类的成员函数

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: