(1)C++语言是从早期的C语言逐渐发展演变而来的。与C语言相比,它在求解问题方法上进行的最大改进是(B )
A)面向过程 B)面向对象 C)安全性 D)复用性
(2)下面有关重载函数的说法中正确的是(C )
A)重载函数必须具有不同的返回值类型;
B)重载函数形参个数必须不同;
C)重载函数必须有不同的形参列表
D)重载函数名可以不同;
(3)下列关于构造函数的描述中,错误的是(D )
A)构造函数可以设置默认参数; B)构造函数在定义类对象时自动执行
C)构造函数可以是内联函数; D)构造函数不可以重载
(4)下面关于C++中类的继承与派生的说法错误的是:(C )
A)基类的protected成员在公有派生类的成员函数中可以直接使用
B)基类的protected成员在私有派生类的成员函数中可以直接使用
C) 私有派生时,基类的所有成员访问权限在派生类中保持不变
D)继承可以分为单一继承与多重继承
(5)C++语言中提供内存申请运算符(),它能可靠地控制内存的分配。
A)delete B)new C)pos D)auto
(6)若执行完以下语句,i和j的值分别为( )。
int i;
int &j=i;
i=5;
j=i+1;
A) 5,5 B) 5,6 C)6,6 D) 6,5
(7)类MyClass的定义如下:
class MyClass
{
public:
MyClass(){value=0;}
SetValue(int i){value=i;}
private:
int value;
};
则对语句:MyClass*p,my;p=&my;正确的描述是( )。
A) 语句p=&my;是把对象my赋值给指针变量p;
B) 语句MyClass *p,my;会调用两次类MyClass的构造函数
C) 语句*p.SetValue(5)的调用是正确的
D) 语句p->SetValue(5)与my.SetValue(5)等价
(8)通常拷贝构造函数的参数是()。
A) 某个对象名
B) 某个对象的成员名
C) 某个对象的引用名
D) 某个对象的指针名
(9)有以下类的定义,其中出错的位置是( )。
class Csample
{ Csample(); // A
public:
inta=10; // B
Csample(int a0); // C
~Csample(); // D
};
(10)以下叙述中不正确的是( )。
A)在类定义中,通常是用成员变量描述对象的属性; 用成员函数描述对象的行为
B)类的一个成员只能具有一种访问控制属性
C)构造函数和析构函数是特殊的成员函数,因此不允许重载
D)通过对象只能访问类的公有成员