首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include class A { public: A(int n=0):m_n(n) { std::cout
有如下程序: #include class A { public: A(int n=0):m_n(n) { std::cout
admin
2017-02-18
44
问题
有如下程序:
#include
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;
eonst A c(a),&d=c,e=b;
b=d;
return 0;
}
运行后的输出结果是( )。
选项
A、ddcd
B、ddce
C、ddccd
D、dddce
答案
B
解析
main()函数中,各个语句执行过程如下:①A a(2)定义对象a,使用默认构造函数A(intn=0),使用参数2初始化m_n,即a.m_n=2,输出字符’d’;②A b定义对象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/CIAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下述静态数据成员的特性中,()是错误的。
软件工程的出现是由于
关于this指针的说明不正确的是
在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i;)
在下面程序横线处填上适当内容,以使该程序执行结果为4.4。#include<iostream>usingnamespacestd;template<typenameT>Taverage(T*datA)
语句ofstreamf("DATA.DAT",ios_base::app|ios_base::binary);的功能是建立流对象f,并试图打开文件DATA.DAT并与之连接,而且
下列叙述中,错误的是()。
下面C++带有默认参数函数的叙述,正确的是( )。
作为成员函数重载的运算符,第一操作数就是参数表中隐含的________所指向的对象,因此并不显示地出现在参数表中。
随机试题
前臂桡侧伸肌群主要有
资本一帝国主义列强对中国的侵略,首先和主要的是进行()
合同人员的主要职责是()。
石料的磨耗性可以采用()磨耗试验测定。
企业会计中,以会计准则为主要依据的是()。
在Word文档中,只有在______视图下可以显示水平标尺和垂直标尺。
唯物史观认为,人类的第一个历史活动是人的自觉意识活动。()
简述利用未公开信息交易罪与内幕交易罪的区别。
【S1】【S6】
SomepeoplelikewatchingTVathome,andothersmaylovehiking.ButIlikebeingatabookshop.Timespentinabookshopcanb
最新回复
(
0
)