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

来源:互联网 发布:java nanotime 单位 编辑:程序博客网 时间:2024/05/20 18:17

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方式继承,所以可以调用基类的成员函数}


0 0