📄 19-1.txt
字号:
/* 范例:19-1 */
#include <iostream.h>
template<class T> /* 在函数原型声明之前,必须加template<class T> */
void Compare(T,T,T); /* 函数原型声明 */
template<class T>
void fun(T i){cout <<i <<endl;}
void main()
{
int a = 6, b = 65, c = 4;
float d =4.5 , e = 3.5, f = 5.7;
Compare(a,b,c); //调用模板函数的传入参数类型自动代为int
Compare<float >(d,e,f); //样板函数的模板类型 指定为float
/* Compare(a,e,f); /* ERROR,参数行中出现二种不同的数据类型 */
fun<char>(b); /* 调用模板函数的传入参数类型,由整数改变为字符 */
cout <<b <<endl; /* 上一行语句的转型动作,并不会影响变量b的原始
类型*/
getchar();
}
/* 在函数定义之前,必须加template<class T> */
template<class T>
void Compare(T a,T b, T c) /* 函数定义 */
{
T tmp;
if(a < b)
{
tmp = b; b = a; a = tmp;
}
if(a < c)
{
tmp = c; c = a; a = tmp;
}
if(b < c)
{
tmp = c; c = b; b = tmp;
}
cout << "由大至小排序之后的结果: " <<" "<<a<<" "<<b<<" " \
<< c << endl;
}
程序执行结果﹕
由大至小排序之后的结果: 65 6 4
由大至小排序之后的结果: 5.7 4.5 3.5
A
65
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -