随笔分类 - 模板
摘要:案例描述:实现一个通用的数组类,要求如下: 1.可以对内置数据类型以及自定义数据类型的数据进行存储 2.将数组中的数据存储到堆区 3.构造函数中可以传入数组的容量 4.提供对应的拷贝构造函数以及operator=防止浅拷贝问题 5.提供尾插法和删除法对数组中的数据进行增加和删除 6.可以通过下标方式
阅读全文
摘要:学习目标: 1.掌握类模板配合友元函数的类内实现和类外实现 全局函数类内实现,即直接在类内声明友元(推荐) 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 //通过全局函数 打印Person信息 6 templ
阅读全文
摘要:学习目标: 掌握类模板 成员函数分文件编写产生的问题以及解决方式 问题: 类模板成员函数创建时机是在调用阶段,导致分文件编写时链接不到 解决: 解决方式1:直接包含.cpp源文件 1 /*person.h文件*/ 2 #pragma once 3 #include <iostream> 4 #inc
阅读全文
摘要:学习目标; 能够掌握类模板中的成员函数类外实现 注意事项:作用域、参数列表 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 template<class T1, class T2> 6 class Person
阅读全文
摘要:当类模板碰到继承时,需要注意以下几点: 1.当子类继承的父类是是一个类模板时,子类在声明的时候,要指定出父类中T的数据类型 2.如果不指定,编译器无法给子类分配内存 3.如果想要灵活的指出父类中T的类型,子类也需变为类模板 1 #include <iostream> 2 #include <stri
阅读全文
摘要:学习目标: 类模板实例化出的对象,向函数传参的方式 一共有三种传参方式: 1.指定传入的类型 直接显示对象的数据类型(推荐) 2.参数模板化 将对象中的参数变为模板进行传递 3.整个模板化 将这个对象类型模板化进行传递 1 #include <iostream> 2 #include <string
阅读全文
摘要:类模板中的成员函数和普通类中的成员函数创建时机是有区别的: 1.普通类中的成员函数一开始就可以创建 2.类模板中的成员函数在调用时才创建 1 #include <iostream> 2 using namespace std; 3 4 //类模板中成员函数创建时机 5 //类模板中的成员函数在调用时
阅读全文
摘要:普通函数与函数模板的区别: 1.普通函数调用时可以发生自动类型转换(隐式类型转换) 2.函数模板调用时,如果利用自动类型推导,不会发生隐式类型转换 3.函数模板调用时,如果利用显示指定类型,可以发生隐式类型转换 1 #include <iostream> 2 using namespace std;
阅读全文
摘要:案例描述: 1.利用函数模板封装一个排序的函数,可以对不同的数据类型数组进行排序 2.排序规则从大到小,排序算法为选择排序 3.分别利用char数组和int数组进行测试 1 #include <iostream> 2 using namespace std; 3 4 //实现一个通用的,对数组进行排
阅读全文
摘要:注意事项: 1.自动类型推导,必须推导出一致的数据类型T,才可以使用 2.模板必须要确定出T的数据类型,才可以使用 1 #include <iostream> 2 using namespace std; 3 4 //函数模板注意事项 5 //1.自动类型推导,必须推导出一致的数据类型T,才可以使用
阅读全文
摘要:函数模板的作用:继承一个通用函数,其函数的返回值和形参类型可以不具体制定,用一个虚拟的类型来代表。 1 #include <iostream> 2 using namespace std; 3 4 //函数模板 5 //交换两个整型函数 6 void swapInt(int &a, int &b)
阅读全文

浙公网安备 33010602011771号