28.可以用p.a的形式访问派生类对象p的基类成员a,其中a是
A)私有继承的公有成员
B)公有继承的私有成员
C)公有继承的保护成员
D)公有继承的公有成员
【参考答案】 D
29.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为
A)abc
B)acb
C)cab
D)cba
【参考答案】 A
30.下面关于虚函数的描述,错误的是
A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C)虚函数可以是另一个类的友元函数,但不能是静态成员函数
D)基类中说明的纯虚函数在其任何派生类中都必须实现
【参考答案】 B
31.下面关于模板的描述,错误的是
A)函数模板和类模板的参数可以是任意的数据类型
B)类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C)函数模板不能直接使用,需要实例化为模板函数后才能使用
D)类模板的成员函数都是模板函数
【参考答案】 A
32.语句ofstream f("SALARY.DAT",ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且
A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B)若文件存在,将其置为空文件;若文件不存在,打开失败
C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D)若文件存在,打开失败;若文件不存在,建立一个新文件
【参考答案】 A
33.下面程序的运行结果是
#include
void main()
{ int num=1;
int &ref=num;
ref=ref+2;
cout <
num=num+3;
cout <
A)13
B)16
C)36
D)33
【参考答案】 C
34.下面程序的运行结果是
#include
void fun(int *a,int *b)
{
int x=*a;
*a=*b; *b=x;
cout<<*a<<*b<<" ";
}
void main()
{ int x=1, y=2;
fun(&x,&y);
cout<
A)1212
B)1221
C)2112
D)2121
【参考答案】 D
35.下列程序的运行结果为
#include
int i=0;
class A{
public:
A(){i++;} };
void main()
{ A a,b[3],*c;
c=b;
cout<
A)2
B)3
C)4
D)5
【参考答案】 C