下列程序将x、y和z按从小到大的顺序排列,请将下面的函数模板补充完整。template void ord下列程序将x、y和z按从小到大的顺序排列,请将下面的函数模板补充完整。template<class T>void order( ){T alif(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;}}

题目
下列程序将x、y和z按从小到大的顺序排列,请将下面的函数模板补充完整。template void ord

下列程序将x、y和z按从小到大的顺序排列,请将下面的函数模板补充完整。

template<class T>

void order( )

{

T al

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;

}

}


相似考题
参考答案和解析
正确答案:T&xT&yT&z。
T&x,T&y,T&z。 解析: 本题要填入的是函数的形参表,此函数的功能是:x、y和z按从小到大的顺序排列,那么就涉及到改变传入的实参值的情况,因此要采用引用传递的方式。所以本惠空白处应填入,T&x,T&y ,T&z。
更多“下列程序将x、y和z按从小到大的顺序排列,请将下面的函数模板补充完整。template<class T> void ord ”相关问题
  • 第1题:

    下列程序将X、Y和Z按从小到大的顺序排列,横线处应添加语句( )。


    正确答案:C

  • 第2题:

    下列程序将x、y和z按从小到大的顺序排列,请将下面的函数模板补充完整。 template void fu

    下列程序将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”。

  • 第3题:

    函数模板定义如下,下列选项正确的是? template <typename T> Max(T a, T b, T &c) { c=a+b; }

    A.int x, y; char z; Max(x,y,z);

    B.double x, y, z; Max(x,y,z);

    C.int x, y; float z; Max(x,y,z);

    D.float x; double y, z; Max(x,y,z);


    A解析:使用函数模板,要求形参必须为相同类型。

  • 第4题:

    下列程序将x、y和z按从小到大的顺序排列,横线处应添加语句()。templatevoid fun (______)

    下列程序将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”。

  • 第5题:

    3、函数模板定义如下,下列选项正确的是? template <typename T> Max(T a, T b, T &c) { c=a+b; }

    A.int x, y; char z; Max(x,y,z);

    B.double x, y, z; Max(x,y,z);

    C.int x, y; float z; Max(x,y,z);

    D.float x; double y, z; Max(x,y,z);


    A