1.继承和派生:
-
继承和派生是同一个过程从不同角的度看
-
保持已有类的特性而构造新类的过程称为继承。
-
在已有类的基础上新增自己的特性而产生新类的过程称为派生。
-
被继承的已有类称为基类(或父类)。
-
派生出的新类称为派生类(或子类)。
-
直接参与派生出某类的基类称为直接基类。
-
基类的基类甚至更高层的基类称为间接基类。
2.使用语法:
- 单继承:
派生类名 继承方式 基类名
class derived: public base
{
}
- 多基层:
派生类名 继承方式 基类名,继承方式 基类名
class derived: public base1,private base2
{
}
3.继承方式:
- 公有继承
- 私有继承
- 保护继承
- 公有继承:
-
派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;
-
通过派生类的对象:只能访问public成员。
- 私有继承
-
派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;
-
通过派生类的对象:不能直接访问从基类继承的任何成员。
- 保护继承
-
派生类中的成员函数:可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员;
-
通过派生类的对象:不能直接访问从基类继承的任何成员
//公有继承 对象访问 成员访问
public --> public Y Y
protected --> protected N Y
private --> private N N
//保护继承 对象访问 成员访问
public --> protected N Y
protected --> protected N Y
private --> protected N N
//私有继承 对象访问 成员访问
public --> private N Y
protected --> private N Y
private --> private N N