- 继承
- class A : public B;
- 从基类继承过过来的表现其共性,而新增的成员体现了其个性。
- 继承方式 class 子类 : 继承方式 父类
- protected 类外不可访问

- 继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反
- 继承同名成员处理方式
- 当子类与父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函数
- 多重继承 class 子类 :继承方式 父类1 , 继承方式 父类2...
- 多继承中如果父类中出现了同名情况,子类使用时候要加作用域
- 菱形继承
- ? 两个派生类继承同一个基类,又有某个类同时继承者两个派生类
- 多态
- 基本概念
- 重写:函数返回值类型 函数名 参数列表 完全一致称为重写
- 纯虚函数和抽象类
- 在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容
- 纯虚函数语法:virtual 返回值类型 函数名 (参数列表)= 0 ;
- 函数模板
- template<class T1,class T2,...>
- 实例化的时候直接用好了(自动类型推导,必须推导出一致的数据类型T,才可以使用)
- 类模板
- template <class t1,class t2,...>
- 类外构造函数
- 实例化要加<类型>
- Person <string ,int>p("孙悟空", 1000);
|