?? 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 + -