C.不确定值 D.程序有错误
[本题参考选择是]:B
2.可以用p.a的形式访问派生类对象p的基类成员a其中a是( )。 A.私有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.公有继承的公有成员 [本题参考选择是]:D
3.下列关于虚函数的说明中,正确的是()。 A.从虚基类继承的函数都是虚函数 B.虚函数不得是静态成员函数 C.只能通过指针或引用调用虚函数 D.抽象类中的成员函数都是虚函数 [本题参考选择是]:B
4.在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。 A.assign B.insert C.swap D.find
[本题参考选择是]:D
5.执行语句“string str(\”时,系统会自动调用string类的构造函数()。 A.string()
B.string(const char *s) C.string(const string &str) D.string(size_type n, char c) [本题参考选择是]:B
6.下面说法中正确的是( )。
A.一个类只能定义一个构造函数,但可以定义多个析构函数 B.一个类只能定义一个析构函数,但可以定义多个构造函数
C.构造函数与析构函数同名,只要名字前加了一个求反符号(~)
D.构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以
[本题参考选择是]:B
7.已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。 A.f(5) B.f(5,8)
C.f(6, , '#') D.f(0,0, '#')
[本题参考选择是]:C
8.( )是析构函数的特征。
A.析构函数可以有一个或多个参数 B.析构函数定义只能在类体内 C.析构函数名与类名不同
D.一个类中只能定义一个析构函数 [本题参考选择是]:D
9.已知“int a=10;int &r=a; r=r+20;cout<D.不确定值
[本题参考选择是]:C
10.关于下面程序段说法正确的是( ) class X { private: int n; public: X(X&); }; X::X(X&x) {n=x.n} X obj1,obj2(obj1);
A.语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2 B.语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对象obj1 C.X(X&x)中的&符号可以删除
D.X(X&x)函数中不能访问对象的私有成员 [本题参考选择是]:A
11.类aClass的定义如下: class aClass {public: aClass(){} aClass(int i){value=new int(i);} int *value; } 若要对类中的value赋值,则下面的语句中,正确的是()。 A.aClass my; my.value=10; B.aClass my; *my.value=10; C.aClass my; my.*value=10; D.aClass my(10); [本题参考选择是]:D
12.包含类fstream定义的头文件是( )。 A.fstream