Loading... # 介绍: 模板是泛型的基础,泛型是模板的推广。 # 函数模板: <div class="tip inlineBlock success"> 函数模板: 建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代替,这个通用函数就称为函数模板。 </div> ## 函数模板的一般形式: ```cpp template<typename T> 通用函数定义 ``` ## 示例: ```cpp #include<iostream> using namespace std; template<typename T> T Max(T a, T b){ if(a > b){ return a; }else{ return b; } } int main(){ int a1 = 1, b1 = 2; double a2 = 1.1, b2 = 2.2; long long a3 = 33, b3 = 333; char a4 = '1', b4 = '2'; cout << Max(a1, b1) << endl; cout << Max(a2, b2) << endl; cout << Max(a3, b3) << endl; cout << Max(a4, b4) << endl; return 0; } ``` 注意:上面为Max不是max,使用max会报错,具体原因请查看下面链接内容 [传送阵](https://baijiahao.baidu.com/s?id=1675439791413512391&wfr=spider&for=pc) # 类模板: <div class="tip inlineBlock success"> 类模板: 对于类的声明来说,有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,这时我们就可以使用类模板 </div> ## 类模板的一般形式: ```cpp template<class T1> class 类名 {...}; // 类体 ``` ## 示例: ```cpp #include<iostream> using namespace std; template<class T1> class Sort{ private: T1 arr; public: void arrInfo(){ cout << arr; } Sort<T1>(T1 a):arr(a){ }; }; int main() { Sort<double>s = Sort<double>(10.1); s.arrInfo(); return 0; } ``` 最后修改:2022 年 06 月 28 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。