1 导读

  • 泛型编程
  • 虚函数

2 转换函数conversion function

  • 将一个类的对象A转换为另一个类,比如一个分数类转换为小数double类型

    operator double() const{

  • 相当于对double函数进行重载

3 构造函数关键词explicit

  • 小数转换为分数
  • non-explicit,不能和转换函数共存
  • explict,让编译器不要自动转换,例如把3变成3/1
  • (代理模式)

4 pointer-like classes

  • 智能指针:class设计出来像一个指针
    • *操作符重载,return *px
    • ->操作符重载,return px
  • 迭代器

5 function-like classes

  • ()操作符重载
  • select1st (())

6 namespace

  • 使用场景:两个人写的程序合并时,出现重复命名的情况

7 模板template

  • 使用场景:想要让class中部分类型允许使用者指定

  • 用法

    template<typename T>

    commplex<double> c1(2.5, 1.5)

8 函数模板

  • 用法:编译器会做实参推导,使用时不必声明类型

    template <typename T>

    r3 = min(r1, r2)

9 成员模板

  • 使用场景:模板中的模板,