1.继承的作用:代码复用
2.派生类继承基类的什么东西:
除了基类的构造和析构函数以外的所有成员
3.public: 任意位置都可以访问
protected: 本类类中,子类类中访问
private: 本类类中访问
基类中不同的访问限定符下的成员以不同的继承方式在派生类中的访问限定
public protected private | |
---|---|
public | public protected 不可见 |
protected | protected protected 不可见 |
private | private private 不可见 |
基类的私有成员继承了但是属性是不可见的
4.派生类对象的构造和析构方式
1.派生类 1.基类部分 2.派生类部分
构造 先基类部分 后派生类部分
5.类和类的关系
组合 a part of has_a
继承 a kind of is_a
代理 :容器适配器,通过表层限制底层接口
6.同名函数的关系
1.函数重载
2.隐藏
1.继承关系 基类和派生类同名的方法 不同作用域
派生类中的同名函数隐藏了基类的所有同名函数
3.覆盖
1.继承关系 基类和派生类同名同参的方法 不同作用域
派生类中同名同参数的虚函数会覆盖基类同名同参数的虚函数
7.基类和派生类的相互指向或者引用
允许基类指针指向派生类对象
允许基类引用派生类对象
8.多态 ==》 接口复用
1.静多态 //编译期间 静态绑定 早绑定
2.动多态 //运行期间 动态绑定 晚绑定
1.基类中的函数是虚函数,派生类中同名同参的函数也是虚函数
9.什么情况会发生动多态的调用
1.指针或者引用调用虚函数
2.对象完整