首页 > 试题广场 >

如果已定义了一个C++类CMyList并有以下语句:CMyL

[单选题]
如果已定义了一个C++类CMyList并有以下语句:CMyList list(3);以下说法正确的是_______。
  • 该语句会创建一个CMyList类的3个对象;
  • 必须为类CMyList定义一个构造函数;
  • 必须为类CMyList定义一个析构函数;
  • 必须定义函数CMyList list(int);
推荐
【正确答案】B
【解析】语句 CMyList list(3); 表示创建一个 CMyList 对象,对象名为 list,使用的是某个带参数的构造函数,参数类型必须是能够接收参数3。例如:
CMyList list(int);
CMyList list(double);
 
构造函数知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
https://www.nowcoder.com/link/zxyl-cpp72
编辑于 2021-11-18 08:21:53 回复(0)
D不是必须要定义函数CMyList list(int);也可以定义函数CMyList list(float)之类的能隐式转换的函数
发表于 2021-03-26 08:47:26 回复(0)
答案A,注意是小括号,不是中括号。
答案B,所谓的“必须为类CMyList定义一个构造函数”,其实际含义是为类CMyList定义一个带一个整型参数的构造函数,因为默认构造函数是不带参数的。不单独额外定义构造函数,编译会报错。
发表于 2021-03-07 08:39:22 回复(0)
如果不定义一个构造函数,采用默认构造函数的话,则无法匹配
发表于 2020-09-01 17:33:38 回复(0)
必须要定义一个有参构造,但是非必须是参数(int) ,可以是参数给默认值 (int a=1,int b=2);

CMyList list(int a=1,int b=2);

发表于 2023-10-30 19:50:17 回复(0)
<p>D也可以吧?</p>
发表于 2020-10-13 13:52:26 回复(1)