更多“ 下列程序将X、Y和Z按从小到大的顺序排列,横线处应添加语句( )。 ”相关问题
  • 第1题:

    下列程序的输出结果为2,横线处应添加语句( )。

    A.public

    B.private

    C.virtual

    D.protected


    正确答案:C

  • 第2题:

    下列程序的输出结果为2,横线处应添加语句()。includeusing namespace std;{public:___

    下列程序的输出结果为2,横线处应添加语句( )。 #include<iostream> using namespace std; { public: ______void fun(){cout<<1;} }; class TestClass2:public TestClass1 { public:void fun(){cout<<2;) }; int main() { TestClass1 *p=new TestClass2; p->fun(); delete p; Teturn 0; }

    A.public

    B.private

    C.virtual

    D.protected


    正确答案:C
    解析:由主函数main入手,定义TestClass1类的指针对象p指向派生类Testclass2。因为基类和派生类中都有fun函数,题目要求输出为2,就是基类对象访问派生类中fun函数。通过虚函数与指向基类对象的指针变量的配合使用,就能方便调用同名函数。所以这里将基类中的fun函数声明为virtual。并且当一个成员函数被声明为虚函数后,其派生类中的同名函数自动成为虚函数。

  • 第3题:

    5、设x,y和z均为int型变量,则以下语句: z=x; x=y; y=z; 的功能是()。

    A.把x和y按从大到小排列

    B.把x和y按从小到大排列

    C.交换x和y的值

    D.无确定结果


    2、1、2

  • 第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题:

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