选择题
已知类MyClass声明如下:
class MyClass{
int U;
public:
MyClass(int k):n(k){ }
int getValue( )const{return n;}
};
在下列数组定义中正确的是
A、
MyClass xl[2];
B、
MyClass x2[2]={new MyClass(1),new MyClass(2)};
C、
MyClass*x3[2];
D、
MyClass*x4[2]={MyClass(1),MyClass(2)};
【正确答案】
C
【答案解析】
对象作为数组元素,对数组初始化赋值时,调用无参构造函数时,数组定义格式为: 类名 数组名[下标表达式]=new类名( )调用带有一个参数的构造函数时,数组定义格式为: 类名 数组名[下标表达式]=new{类名(参数),类名(参数)……}, 或者 类名 数组名[下标表达式]={参数1,参数2,……}。 当定义指针时,指针数组的每个元素都应该新建一个对象,一般格式为: 类名*指针名={new 类名(参数),new类名(参数),……}。
提交答案
关闭