问题
单项选择题
下列程序将x、y和z按从小到大的顺序排列,请将下面的函数模板补充完整。
template<class T>
void fun (______)
T a;
if(x>y)
a=x; x=y;y=a;
if(y>z)
a=y; y=z;z=a;
if(x>y)
a=x; x=y;y=a;
A.T x,T y,T z
B.T x;y;z
C.T &x,T &y,T &z
D.T &x, &y, &z
答案
参考答案:C
解析: 函数fun的类型为void没有任何返回值,函数中变量的改变,即参数的改变应该影响实参。应该是地址传递方式,即把引用型作为函数形参。类T是类的抽象,可以利用模板建立各种数据类型的类。所以补全函数的定义为“T &x,T &y,T &z”。