(30)有如下程序:
#include<iostream>
usingnamespacestd;
classA{
public:
A(){cout<<"A";}
};
classB{public:B(){cout<<"B";}};
classC:publicA{
Bb;
public:
C(){cout<<"C";}
};
intmain(){Cobj;return0;}
执行后的输出结果是
A)CBAB)BACC)ACBD)ABC
(31)有如下类声明:
classXA{
intx;
public:
XA(intn){x=n;}
};
classXB:publicXA{
inty;
public:
XB(inta,intb);
};
在构造函数XB的下列定义中,正确的是
A)XB::XB(inta,intb):x(a),y(b){}
B)XB::XB(inta,intb):XA(a),y(b){}
C)XB::XB(inta,intb):x(a),XB(b){}
D)XB::XB(inta,intb):XA(a),XB(b){}
(32)有如下程序:
#include<iostream>
usingnamespacestd;
classBASE{
public:
~BASE(){cout<<"BASE";}
};
classDERIVED:publicBASE{
public:
~DERIVED(){cout<<"DERIVED";}
};
intmain(){DERIVEDx;return0;}
执行后的输出结果是
A)BASEB)DERIVED
C)BASEDERIVEDD)DERIVEDBASE
(33)在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是
A)operator+有两个参数,operator*有两个参数
B)operator+有两个参数,operator*有一个参数
C)operator+有一个参数,operator*有两个参数
D)operator+有一个参数,operator*有一个参数
(34)下面关于C++流的叙述中,正确的是
A)cin是一个输入流对象
B)可以用ifstream定义一个输出流对象
C)执行语句序列char*y="PQMN";cout<<y;将输出字符串"PQMN"的地址
D)执行语句序列charx[80];cin。getline(x,80);时,若键入
Happynewyear
则x中的字符串是"Happy"