面向对象编程:
1.class (A) =====class A
匿名对象认为是定义对象
2.默认的拷贝构造函数是值拷贝
3.class A{B b},类对象作为类成员,构造B后再构造A,析构A后析构B
4.this隐含在每个非静态函数中,return *this返回对象本身
5.静态多态:重载函数,编辑阶段确定函数地址
动态多态:派生+虚函数,运行阶段确定函数地址
6.子类有堆区数据,父类指针指向子类也无法析构子类堆区空间
→①虚析构
→②纯虚析构
泛型编程:
1.函数模板和类模板
template<typename T>
函数声明或定义
→①自动推导int a,b;func(a,b)
→②显式制定func<int>(a,b)
2.类模板中成员函数创建时机:调用时才创建
3.typeid(T).name():编译器推导的模板类型
4.每次运行的结果不同
#include<ctime>
srand((unsigned int)time(NULL);
STL几个容器
1.vecto