继承(Inheritance)可理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类 A,那么 B 就拥有 A 的成员变量和成员函数。
在C++中, 派生(Derive) 和继承是一个概念,只是站的角度不同。继承是儿子接收父亲的产业,派生是父亲把产业传承给儿子。
被继承的类称为父类或基类,继承的类称为子类或派生类。“子类”和“父类”通常放在一起称呼,“基类”和“派生类”通常放在一起称呼。
一.继承
1.1继承的定义
继承的一般语法为:
class 派生类名:[继承方式] 基类名{
派生类新增加的成员
};
继承方式包括 public(公有的)、private(私有的)和 protected(受保护的),此项是可选的,如果不写,那么默认为 private。
//基类Father
class Father{
private:int a;void f1(){}
protected:int b;void f2(){}
public:int c;void f3(){}
};
//派生类Son
class Son:public Father{
protected:double e;void f4(){}
public:double g;void f5(){}
};
int main(){Son s;s.c=9;s.f3();s.g=10;s.f5();return 0;
}
Father 是基类,Son是派生类。Son类继承了 Father 类的成员a,b ,c ,f1,f2,f3,同时还新增了自己的成员变量 s,e 和成员函数 f4,f5 。这些继承过来的成员,可以通过子类对象访问,就像自己的一样。
1.2继承的三种方式
类成员的访问权限由高到低依次为 public --> protected --> private