继承
继承是代码复用的一种形式。
继承别人的类叫派生类(drived class 子类),被继承的类叫基类(base class 父类)。
继承以后,派生类和基类就没有关系了,但是派生类可以得到父类的成员变量和成员函数。
基类
假设基类Base有一个int 成员变量a,那么基类的结构如下:
假设派生类Drived继承了Base类,并且派生类也有一个自己的整形成员变量b,那么派生类的结构如下:
#include <iostream>
using namespace std;
class Base //基类
{
public:
void fun(void) {cout << "Base fun()" << endl;}
public:
int a;
};
//派生类Drived
//Drived类继承于基类Base
class Drived : public Base
{
public:
void g(void){cout << "Drived g()" << endl;}
public:
int b;
};
int main()
{
Drived d;
//使用基类Base的成员
d.a = 1;
d.fun();
cout << d.a <<endl;
//使用派生类Drived的成员
d.b = 2;
d.g();
cout << d.b << endl;
}
程序输出:
Base fun()
1
Drived g()
2
继承有什么用呢?
1 代码复用(省的再写一遍)
我们看到派生类通过继承就拥有了一些成员变量,成员函数。这都是代码的复用,不必自己重新写一遍。
2 多态(让程序可扩展)
多态可以让差异化得到合理的解决,代码更容易读,也更容易写。