第一部分 选择题 (共20分)
一、单项选择题(本大题共10小题,每小题2分,共20分)
1.在C++中,函数原型不能标识( D )
A.函数的返回类型 B.函数参数的个数
C.函数参数类型D.函数的功能p108有叙述
2.在C++程序中,对象之间的相互通信通过( B ) ?
A.继承实现B.调用成员函数实现
C.封装实现D.函数重载实现
3.对于任意一个类,析构函数的个数最多为( B )
A.0B.1C.2 D.3
P288
析构函数不接受参数,也不返回数值。类只可能有一个析构函数,不能进行析
构函数的重载。
4.下面函数模板定义中不正确的是( A )
A.template<class Q>B.template<class Q>
QF(Q x){QF(Q x){
return Q+x;return x+x;
} }
C.template<class T> D.template<class T>
TF(T x){ TF(T x){
return x*x; return x>1;
} }
5.友元关系不能( c A )?
A.继承
B.是类与类的关系
C.是一个类的成员函数与另一个类的关系 p316
D.提高程序的运行效率
6.语句ofstream
f(〃SALARY.DAT〃,ios::app|ios::binary);的功能是建立流对象f,试图打开文
件SALARY.DAT并与之连接,并且( A )
A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B.若文件存在,将其置为空文件;若文件不存在,打开失败
C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D.若文件存在,打开失败;若文件不存在,建立一个新文件
7.下面说法正确的是( B )
A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C.类的内联函数必须在类体内定义
D.类的内联函数必须在类体外通过加关键字inline定义
8.可以用p.a的形式访问派生类对象p的基类成员a,其中a是( D )
A.私有继承的公有成员 B.公有继承的私有成员
C.公有继承的保护成员D.公有继承的公有成员
9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( A
)
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用