一、什么是继承
1、当遇到问题时,先查看现有的类能够解决一部分问题,如果有则继承该类,在此类的基础上进行扩展来解决问题以此可以缩短解决问题的时间(代码复用)
2、当遇到一个大而复杂的问题时,可以先把复杂的问题拆分成若干个小问题,然后为每个小问题设计一个类进行解决,最后通过继承的方式把这些类汇总到一个类中,从而解决最终的大问题,以此
降低问题的难度,也可以同时让多个程序员一起工作解决问题
子类继承父类 派生类继承基类
二、继承的语法
1、继承表
class Son : 继承表[继承方式 父类名1,继承方式 父类名2...]
{
成员变量;
public:// 访问控制权限
成员函数;
};
2、继承方式
public
protected
private
三、C++继承的特点:
1、C++中的继承可以有多个父类
2、子类会继承父类的所有内容
3、子类对象可以向它的父类类型转换(使用父类类型指针或引用指向子类对象)(可以缩小),但是父类对象不能向它的子类类型转换(不能使用子类类型指针或引用指向父类对象)(不能扩大)
Base* b = new Son; true
Base& b= son; true
Son& son = new Base; false
Son& son = base; false
4、子类会隐藏父类的同名成员,在子类中直接使用同名成员时,默认使用的是自己的同名成员
但是可以通过 父类名::同名成员 的方式指定访问父类的同名成员
5、子类与父类的同名函数是无法构成重载的,因为不在同一个作用域下,并且子类会隐藏同名的父类成员函数,因此只能通过域限定符的方式访问父类的同名成员函数
6、在执行子类的构造函数时,会按照继