问题 单项选择题

下列程序将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.Tx,Ty,Tz

B.Tx;y;z

C.T&x,T&y,T&z

D.T&x,&y,&z

答案

参考答案:C

解析: 函数fun的类型为void没有任何返回值,函数中变量的改变,即参数的改变应该影响实参。应该是地址传递方式,即把引用型作为函数形参。类T是类的抽象,可以利用模板建立各种数据类型的类。所以补全函数的定义为“T &x,T &y,T &z”。

单项选择题
单项选择题