类模板:数据的组织方式和数据元素的类型无关。(也就是存储和组织元素)。 (链表类,队列类)。不关心操作的数据元素类型,只关心操作方法。 语法: 类模板定义具体对象:(必须显示的指定元素类型,编译器无法自动推导类型) 编译器对类模板的处理:编译器通过具体参数和类模板在定义对象时生成类的实体。 编译器会 Read More
posted @ 2019-05-13 20:19 张不源 Views(370) Comments(0) Diggs(0) Edit
泛型编程:不考虑具体数据类型的编程 函数模板:可用不同参数类型进行调用的函数(类型可以被参数化) 语法: 语法规则:template 关键字用于声明开始进行泛型编程(声明一个模板)。typaname 用于声明泛指类型。 调用规则:自动类型推导调用(根据函数调用时实参的类型设置T的类型)--> Swa Read More
posted @ 2019-05-13 19:23 张不源 Views(455) Comments(0) Diggs(0) Edit
new/delet 是C++编译器实现的关键字,以类型为单位分配,申请时可以初始化内存 malloc/free 是C库实现的函数,以字节为单位分配,并不会初始化内存 构造函数不可能成为虚函数:在构造函数执行完后,虚函数表和虚函数表指针才会初始化。 析构函数可以成为虚函数:尽量将析构函数声明为虚函数。 Read More
posted @ 2019-05-13 15:23 张不源 Views(344) Comments(0) Diggs(0) Edit
多重继承会产生多个虚函数表: vptr1指向继承自A的虚函数表,vptr2指向继承自B的虚函数表 如果要强制转化一个类到另外一个类用class2* p = dynamic_cast<class2>(p1); 单继承某个类+实现多个接口: 多继承时在子类出现了多个虚函数表指针,通过dynamic_ca Read More
posted @ 2019-05-13 11:19 张不源 Views(383) Comments(0) Diggs(0) Edit