早教吧 育儿知识 作业答案 考试题库 百科 知识分享

关于c++的问题(78,6-9)classMyClass{public:MyClass()(intd){data=d;}~MyClass(){}private:intdata;};}下列对MyClass类对象数组的定义和初始化语句中,正确的是:A.MyClassarrays[2]B.

题目详情
关于c++的问题(78,6-9)
class MyClass{
public:
MyClass () (int d) {data=d;}
~MyClass () { }
private:
int data;
};
}
下列对MyClass类对象数组的定义和初始化语句中,正确的是:
A. MyClass arrays[2] B. MyClass arrays[2] ={ MyClass arrays(5) }
C. MyClass arrays[2] = { MyClass arrays(5) , MyClass arrays(6) }
D. MyClass *arrays[2] ={ new MyClass (2) }
(参考答案为C,为什么其他的不对,这几个选项的格式有什么不同的区别)
▼优质解答
答案和解析
你没有对默认构造函数重载,但是写了其他构造函数,系统就不会生成默认构造函数。则数组中的变量无法调用默认构造初始化,必须显式构造(每个数组成员都要显式构造)。
D是打酱油的。声明的是指针数组,不是对象数组。 (要求是“对象数组的定义和初始化”)