(1)下面对静态数据成员的描述中,正确的是( )。
A)静态数据成员是类的所有对象共享的数据
B)类的每个对象都有自己的静态数据成员
C)类的不同对象有不同的静态数据成员值
D)静态数据成员不能通过类的对象调用
答案:A
(2)如果类A被说明成类B的友元,则( )。
A)类A的成员即类B的成员
B)类B的成员即类A的成员
C)类A的成员函数不得访问类B的成员
D)类B不一定是类A的友元
答案:D
(3)可以用P.a的形式访问派生类对象P的基类成员a,其中a是( )。
A)私有继承的公有成员
B)公有继承的私有成员
C)公有继承的保护成员
D)公有继承的公有成员
答案:D
(4)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、C(派生类)构造函数),这3种构造函数的调用顺序为( )。
A)abC
B)aCb
C)Cab
D)Cba
答案:A
(5)下面关于虚函数的描述,错误的是( )。
A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚数
C)虚函数可以是另一个类的友元函数,但不能是静态成员函数
D)基类中说明的纯虚函数在其任何派生类中都必须实现
答案:B
(6)下面关于模板的描述,错误的是( )。
A)函数模板和类模板的参数可以是任意的数据类型
B)类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C)函数模板不能直接使用,需要实例化为模板函数后才能使用
D)类模板的成员函数都是模板函数
答案:A
(7)语句ofstream f(”SALARY.DAT”,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALA-RY.DAT并与之连接,并且( )。
A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B)若文件存在,将其置为空文件;若文件不存在,打开失败
C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D)若文件存在,打开失败;若文件不存在,建立一个新文件
答案:A
(8)下面程序的运行结果是( )。
#includevoid main()
{
int num=1:
int&ref=num; ref=ref+2:
cout<<NUM: p cout<<ref<<endl:< num="num+3:">
}
A)13
B)16
C)36
D)33
答案:C
(9)下面程序的运行结果是( )。
#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<<X<<Y<<ENDL;< p>
}
A)12 12
B)12 21
C)21 12
D)21 2l
答案:D
(10)下列程序的运行结果为( )。
#includeint i=0;
class A{ public: A(){i++;}
};
void main() {
A a,b[3],*C; C=b;
cout<<I<<ENDL:< p>
}
A)2
B)3
C)4
D)5
答案:C
点击加载更多评论>>