第2个回答 2018-01-14
先说BCD
B,初始化列表里不允许定义具名对象,而且还重名了,正确的做法是:
MyClass arrays[2] ={MyClass(5), MyClass(6)};
C,因为有了带参数的构造函数,那么就编译系统就不会提供缺省构造函数,所以 MyClass没有缺省构造函数,所以不能定义没有初始值的对象
D,包含B和C两种错误
A 定义了一个指针数组,并且初始化了第1个元素 (new 调用了构造函数在堆上生成了一个MyClass并且把地址赋值给arrays[0], arrays[1]因为没有显式初始化,会被初始化为空指针)这个算正确
但如果抠字眼的话,A也是不正确的,因为该数组是类对象的指针的数组,而不是类对象的数组本回答被提问者采纳