C++三种继承方式的总结
一、继承简介
我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。
继承可以完成的一些操作:
1.可以再已有类的基础上添加功能。
2.可以给类添加数据。
3.可以修改类方法的行为。
二、派生类的构成
构造一个派生类需要做以下三部分工作:
1.从基类接受成员。
派生类会把基类的全部成员(不包括构造函数和析构函数)接收过来,不能选择接收其中的一部分。
2.调整从基类接受的成员。
在派生类中可以改变基类成员在派生类中的访问属性,这就是下面我们要将的指定继承方式来实现的。
如果在派生类中声明了一个与基类成员相同名字的函数,派生类的新成员会覆盖基类的同名成员。
3. 在声明派生类时增加的成员
三、public,protected,private三种继承
1.公有继承:
公有继承时,基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有,即在派生类中不能访问,在类外也不能访问。
2.保护继承
保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。
3.私有继承
私有继承即所有基类成员均变成派生类的私有成员,基类的私有成员仍然不能在派生类中访问。
我们可以在基类定义非私有的show函数,然后在派生类调用私有成员的状态
四、友元函数、静态成员函数的继承
1.友元函数
(1)友元关系不能被继承。
(2) 友元关系是单向的,不具有交换性。