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

各个选项解析C++当说明一个具有构造函数的对象数组时,所定义的类应该()A.只能包含一个默认的构造函数B.应有一个包含缺省参数的构造函数C.至少应有两个构造函数D.必须有一个

题目详情
各个选项解析C++
当说明一个具有构造函数的对象数组时,所定义的类应该( )
A. 只能包含一个默认的构造函数
B. 应有一个包含缺省参数的构造函数
C. 至少应有两个构造函数
D. 必须有一个不带任何参数的构造函数
▼优质解答
答案和解析

这个题目貌似有问题。

这四个选项没有一个是必须的。

比如下面这个程序

#include <iostream.h>
class test
{
public:
int a;
test(int c):a(c){}
};

int main()
{
test aa[2] = {1,5};

for(int i = 0; i < 2; i ++)
cout << aa[i].a << endl;
}

它有一个有参的构造函数,没有默认构造函数。

这个A B C D四个都对不上了。


不过 我想题目可能是表达的这个意思。

test aa[2];

这样的,即没有初始化列表。如果是这样 那么B就是对的了。 因为只有无参的,或者带缺省的构造函数,这个对象才可以被正确的初始化。

事实上,我觉得这个出题人也是不太确定的,所以B用的是应该,而不是必须。

严格来说 这是一个错题。

看了各个选项解析C++当说明一个具...的网友还看了以下: