C++:继承
上篇帖子我们讲了类之间的横向关系,本帖将讲述纵向关系:继承。
说到继承儿子,我们可以联想到儿子继承父亲的遗产,在编程中我们可以理解为一个类获得另一个类的成员变量和成员函数的过程。
被继承的类叫作父类或基类,继承的类称为子类或派生类。
子类除了可以继承父类的成员,还可以定义新的成员。
应用场景:
1.当你要创建多个类,他们拥有部分相似的成员,则可以将相似部分提取出来作为父类,然后各个子类继承父类,可以减少代码量。
2.当你要新建一个类时,发现他与现有的类相似,只是多出某些成员,也可应用继承,同样可以减少代码量。
使用格式:
class 父类名
{
成员
};
class 子类名 :继承方式 父类名
{
子类中新成员
};
例如:
class Father
{
public:
int a;
};
class Son : public Father
{
public:
int d;
};
父类成员在子类中的访问方式最高不会高过继承方式,如下:
继承方式 | 父类 | 子类 | 父类 | 子类 | 父类 | 子类 |
public | public | public | protected | protected | private | 不可见 |
protected | public | protected | protected | protected | private | 不可见 |
private | public | private | protected | private | private | 不可见 |
例如:子类以protected方式继承父类,则父类中以public访问的成员在子类中的访问方式为protected。
注意:类的默认继承方式为private。