19-1.txt

来自「C++完美演绎源代码」· 文本 代码 · 共 46 行

TXT
46
字号
/* 范例: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 + =
减小字号Ctrl + -
显示快捷键?