首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class CC{ int k; public: CC(int n):k(n){ }
有如下程序: #include using namespace std; class CC{ int k; public: CC(int n):k(n){ }
admin
2021-05-06
49
问题
有如下程序:
#include
using namespace std;
class CC{
int k;
public:
CC(int n):k(n){ }
int get()const{ return k; }
};
int main(){
CC c[3]={CC(1),CC(2)};
return 0;
}
此程序编译时未能通过,原因是
选项
A、数组只能定义为基本数据类型
B、类 CC 缺少复制构造函数
C、对象数组只能作为类的数据成员
D、类 CC 缺少默认的构造函数
答案
D
解析
对象数组无论在哪里定义,都需要自动调用该对象元素的类的默认构造函数进行初始化,如果该类没有默认构造函数,必须为数组的元素提供显式初始化;程序中定义了对象数组c,它包含了三个元素,前两个元素使用构造函数CC(int n)显式初始化,最后一个元素需要使用默认构造函数初始化,由于类CC中已经定义了构造函数,所以编译器不会自动生成默认的构造函数,缺少默认构造函数导致对象数组c的第三个元素无法完成初始化,编译错误;答案为D。
转载请注明原文地址:https://kaotiyun.com/show/2Dfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
程序流程图中带有箭头的线段表示的是()。
有如下类声明和函数声明:classBase{intm;public:intn;protected:intp;};classDe
有如下类定义:classSample{public:Sample(intx):ref(x){}//①Sample():ref
下列因素中,对C++编译器区分重载函数无任何意义的是
要使程序的输出结果为Base,则在横线处填写的派生类Derived的继承方式是()。#includeusingnamespacestd;classBase{public:voidprint(){cout
请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行”//ERROR*********found*********下面的一行有错误,请加以更正。更正后程序的输出为:
有如下程序:#include#includeusingnamespacestd;intmain(){cout
要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是()。
下面是关于派生类声明的开始部分,其中正确的是()。
随机试题
桔梗治疗咳嗽痰多,其机制是
在应用利妥昔单抗治疗前,需对患者进行基因筛查,筛查的项目是()。
大肠癌术后错误的护理是
经济业务发生后,引起有关会计要素增减变动,下列表达正确的有()。
现金银行本票的申请人没有限制,所有人都可以申请。()
信用证方式的特点有()。
小王目前面临购房还是租房的选择,如果租房,房租每年60000元,押金5000元。如果购房,总价100万元,自备首付款30万元,可申请70万元贷款,20年期,房贷利率为7%,按年等额本息方式还款。假定房屋维护成本为8000元/年,押金与首付款机会成本率均为4
圆舞曲
Inordertolivealongerlife,whatshouldpeopledo?
生者
最新回复
(
0
)