【废话】
我来更新啦哈哈哈哈
对了,不会有人读模板叫mo ban 吧
正确读音是mu ban,想不到吧
【定义模板函数】
定义模板函数方法如下:
[C++] 纯文本查看 复制代码 template<class homo>
homo Homo(homo HOMO){
printf("%d",HOMO);
}
例如定义一个加法的模板函数:
[C++] 纯文本查看 复制代码 template<class sum>
sum add(sum a,sum b){
return a+b;
}
它和普通函数有什么区别呢?
正常情况下,如果要实现整数和实数的想加,必须要定义两个函数:
[C++] 纯文本查看 复制代码 int intAdd(int a,int b){
return a+b;
}
float flAdd(float a,,float b){
return a+b;
}
而模板函数可以同时运算整数和实数
【函数模板的使用】
拿加法函数来说,使用方法如下:
[C++] 纯文本查看 复制代码 int result = add(114,514); //正确
float resultF = add(114.5,1919.8); //正确
但以下使用是错误的:
[C++] 纯文本查看 复制代码 float res = add(114,1919.8); //错!!!!
正确方法是:
[C++] 纯文本查看 复制代码 int res = add<int>(114,1919.8);
float res1 = add<float>(114,1919.8);
【重载函数模板】
函数模板只能用于整数和实数,但是如果想用于char *的字符串呢?
这就要用到重载函数了
[C++] 纯文本查看 复制代码 template <class type>
type min(type a,type b){
return (a < b)?a:b;
}
char *min(char *a,char *b){
//重载函数模板
return (strcmp(a,b))?a:b;
}
这样,重载函数就能处理字符串了
|