一起答
单选

有如下程序:

#include

usingnamespacestd;

classC1{

public:

~C1(  ){cout<<1;)

};

classC2:publicC1{

public:

~C2(  ){cout<<2;)

};

intmain(  ){

C2cb2;

C1*cb1:

return0;

}

运行时的输出结果是(  )。

  • A.121
  • B.21
  • C.211
  • D.12
试题出自试卷《2013年9月全国计算机等级《二级C++》命题预测试卷四》
参考答案
查看试卷详情
相关试题
  1. (1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。

    (2)应添加“friendvoidfunc;”。

    (3)应添加“intTC::Num3=4;”。

    (4)将“obi.AddNum”补充完整为“obj.AddNum(2);”。

    【解析】本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(inti,intj):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。第2处完成fune的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friendvoidrune;”。第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)<类名>::<静态数据成员)=<初始值>”,因此第3处的语句应为“intTC::Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum的参数为19-17=2,即第4处的语句应为“obj.AddNum(2);”。

  2. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,即使程序在屏幕输出以下类似内容:

    0012FF6810012FF3C5

    0012FF6C20012FF444

    0012FF7030012FF4C3

    0023FF7440012FF542

    0012FF7850012FF5C1

    006AFDCC~006AFDEF数据可能因为机器的不同,程序输出的内容会有差异。只要相差为4的连续地址即可。

    注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。

    试题程序:

    #include

    usingnamespacestd;

    intmain()

    {

    int*P,a[5]={1,2,3,4,5};

    double*q,b[5]={5.0,4.0,3.0,2.0,1.0);

    intx;

    P=a;

    q=b;

    //********error********

    for(x=0;x<=5;X++)

    //********error********

    cout<

    (q+x)<

    return0;

    }

  3. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码。

    函数sort(int&m,int&n,int&1)实现将3个整数m,n,1由大到小输出。m最大,1最小。程序实现时,可以把最大的数放到m上,先将m与n进行比较,如果m

    将函数sort(int&m,int&n,int&1)补充完整,实现3个数的排序。

    注意:请勿改动主函数。

    试题程序:

    #include

    voidsort(int8Lm,int&n,int&1)

    {

    }

    intmain

    {

    intx=9:

    inty=13;

    intz=-3:

    sort(X,y,z);

    cout<

    return0;

    }

  4. 对如下二叉树进行后序遍历的结果为(  )。

    • A.ABCDEF
    • B.DBEAFC
    • C.ABDECF
    • D.DEBFCA
  5. 在C++中,cin是一个(  )。

    • A.类
    • B.对象
    • C.模板
    • D.函数
  6. 下列关于运算符重载不正确的是(  )。

    • A.运算符重载不能改变运算符的操作数个数
    • B.运算符重载不能改变运算符的优先级
    • C.运算符重载不能改变运算符的结合性
    • D.运算符重载能改变对预定义类型数据的操作方式
  7. 若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是(  )。

    • A.Data+(Data);
    • B.Dataoperator+(Data);
    • C.Data+operator(Data);
    • D.operator+(Data.Data);
  8. C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由两个类istreanl和(  )提供。

    • A.fstream
    • B.iostream
    • C.ostream
    • D.cin
  9. 下面程序的运行结果为(  )。

    #include

    classA

    {

    intnum;

    public:

    • A(inti){num=i;)
    • A(A&a){num=a.num++;}    voidprint(){cout<
    • Aa(1),b(a);
    • A.print();
    • B.print();    }
    • C.11B.12
    • D.21D.22
  10. 下列控制格式输入输出的操作符中,能够设置浮点数精度的是(  )。

    • A.setprecision
    • B.setw
    • C.setfill
    • D.showpoint