首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #inelude<iostream> class A { public: A(int n=0):m_n(n) { std::cout<<’d’; } A(const A& a):m_n(a.m_n) { std::cout<<’c’; } p
有如下程序: #inelude<iostream> class A { public: A(int n=0):m_n(n) { std::cout<<’d’; } A(const A& a):m_n(a.m_n) { std::cout<<’c’; } p
admin
2021-02-22
37
问题
有如下程序:
#inelude<iostream>
class A
{
public:
A(int n=0):m_n(n)
{
std::cout<<’d’;
}
A(const A& a):m_n(a.m_n)
{
std::cout<<’c’;
}
private:
int m_n;
};
int main()
{
A a(2),b;
const A c(a),&d=c,e=b;
b=d;
return0;
}
运行后的输出结果是( )。
选项
A、ddcd
B、ddcc
C、ddccd
D、dddcc
答案
B
解析
main()函数中,各个语句执行过程如下:
①A a(2)定义对象a,使用默认构造函数A(int n=0),使用参数2初始化m_n,即a.m_n=2,输出字符’d’;
②Ab定义对象b,使用默认构造函数A(int n=0),使用默认参数0初始化m_n,即b.m_n=0,输出字符’d’;
③const A c(a)定义对象c,使用A类的另一个构造函数A(const A&a),将c.m_n赋值为a.m_n,即c.m_n=2,输出字符’c’;
④const A &d=c定义对象d引用c对象,所以d、c是同一对象,没有构造函数的调用;
⑤const A e=b定义对象e,使用编译器的默认赋值运算符将b对象赋值给一个临时对象,然后使用构造函数A(const A &a)将临时对象赋给e,输出字符’c’;
⑥b=d使用编译器的默认赋值运算符将d对象赋给b,没有构造函数的调用。
综上,程序运行结果为:ddcc。故本题答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/57yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。sum(hatn)计算所有n的因子之和(不包括1和自身)。注意:不能修改程序的其他部分,只能补充sum()函数。#includeintsum(
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使该程序的输出结果为:20,1515,20注意:错误的语句在//*****error******的下面,修改该语句即可。#in
定义学生选修课程的关系模式为SC(S#,Sn,Sd,Sa,C#,G)(其属性分别为学号、姓名、所在系、年龄、课程号和成绩);C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课)。关系模式SC的主键是
有三个关系R、S和T如下:其中关系T由关系R和S通过某种操作得到.该操作为
有如下模板声明:template<typenameT1,typenameT2>ClaSSA;下列声明中,与上述声明不等价的是()。
十进制整数设为整数类I,则下面属于类I的实例的是
下面属于整数类I的实例的是
下列结构中属于非线性结构的是
在面向对象方法中,实现信息隐蔽是依靠
假定TestClass为一个类。则该类的拷贝构造函数的声明语句为()。
随机试题
在经济合作与发展组织《以知识为基础的经济》的报告中,知识不包括【】
Hearrivedverylateatnight,______intheearlyhoursthismorning.
关于家庭权力结构表述正确的是
骨髓涂片造血细胞分类计算应观察有核细胞数至少
急性腹膜炎中医辨证多属于
A.反渗透法B.电渗析法C.蒸馏法D.塔式蒸馏器E.多效蒸馏器可通过阴、阳离子交换膜制纯水的方法
关于商业银行的派生存款能力,下列选项正确的是()。
外汇(南京财经大学2013真题)
mandatoryplanning
Australiaisstrugglingtocopewiththeconsequencesofadevastatingdrought.Astheworldwarmsup,othercountriesshouldpa
最新回复
(
0
)