一、选择题
1. 类MyClass的定义如下:
class MyClass
{
public:
MyClass() { value = 0;}
SetVariable(int i) { value = i; }
private:
int value;
}
则对下列语句序列正确的描述是_______。D <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
MyClass *p,my; p=&my;
A)语句p=&my;是把对象my赋值给指针变量p //把对象my的地址赋值给指针变量p
B)语句MyClass *p,my;会调用两次类MyClass的构造函数 //调用1次
C)对语句 *p.SetVariable(5)的调用是正确的 //应为
(*p) . SetVariable(5)
D)语句p->SetVariable(5)与语句my.SetVariable(5)等价
2. 类MyClass的定义如下:
class MyClass
{
public:
MyClass( ) { }
MyClass(int i) {value = new int(i); }
int* value;
}
若要对 value赋值, 则下面语句正确的是:
___D
A) MyClass my; my.value =1000; //
my.value
应存放地址,无法直接赋值
B) MyClass my; *my.value =1000; //
my.value
没初始化,
*(my.value)=1000
内存出错
C) MyClass my; my.*value =1000; //语法错误
D) MyClass my(lO);
3. 对于拷贝构造函数,正确的描述是________。A
A)在C++语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数