C++ c++ 类与对象

C++ c++ 类与对象这道题为什么选A啊……

第1个回答  2018-01-14
看起来只有C对,A应该是错误的追问

编译的话,只有A是对的.....

我看不懂A的格式....

追答

你截屏的代码和上面代码完全不一样,结论当然不一样
截屏中代码构造函数多了个参数,编译就通过了
A中只是new一个对象,什么地方不明白?

追问

那A中的另一个对象是什么🤔

追答

没有提供的就是由编译器或者运行时随机提供的,也许是空,也许是乱码

追问

好👌🙂🙂

第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也是不正确的,因为该数组是类对象的指针的数组,而不是类对象的数组本回答被提问者采纳
第3个回答  2018-01-14
Myclass() (int d)??有没有搞错追问

辣鸡题目,肯定出错了

相似回答