首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; }
有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; }
admin
2017-10-17
56
问题
有如下程序: #include <iostream> using namespace std; class Part{ public: Part(int x=0):val(x) { cout<<val; } ~Part() { cout<<val; } private: int val; }; class Whole { public: Whole(int x, int y, int z=0):p2(x),p1 (y),val(z) { cout<<val; } ~whole() { cout<<val; private: Part p1,p2; int val; }; int main() { Whole obj (1,2,3); return 0; }程序的输出结果是
选项
A、123321
B、213312
C、213
D、123123
答案
B
解析
本题考查的知识点是:类的构造与析构。建立一个类的对象时,构造函数的执行顺序如下:
①执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
②执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下:(如果一行声明了多个对象,则还要遵循自左向右)
③执行自身的构造函数。
析构顺序与之相反。本题的Whole类没有基类,但有两个Part类的成员p1和p2。根据它们定义的顺序,应该先构造p1再构造p2,而不是按Whole的构造函数中初始化列表的顺序那样构造。所以,第1个被构造的是p1(y),输出一个2;第2个被构造的是p2(x),输出一个1;最后调用自身构造函数,输出val的值3。析构函数严格与之相反。故输出结果为213312,本题应该选择B。
转载请注明原文地址:https://jikaoti.com/ti/xBt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下四种说法中,正确的一项是()
在析构函数中调用虚函数时,采用_____联编。
如果一个对象部分地包含自己,或自己定义自己,则称这个对象是【 】的对象。
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str){if(______)return______;e
有如下类声明:classXA{intx;public:XA(intn){x=n;}};classXB:publicXA{
下列虚基类的声明中正确的是
下列对字符数组进行初始化的语句正确的是
C++模板包括( )。
以下选项中合法的用户标识符是
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是
随机试题
投资控制子系统实现的基本功能不包括()。
拉深系数是一个大于1的数。()
下述有关ABO血型的叙述恰当的是
下述哪项不是毛状白斑的病理表现
A.需求总量B.种植情况C.经营制度D.总量控制E.药用原植物国家对麻醉药品药用原植物的种植实行()
某房地产公司出售一幢已办理竣工结算的商用写字楼,获得收入2000万元。根据税收法律制度的有关规定,下列各税中,属于该公司此项售楼业务应缴纳的税种有( )。
Amajorreasonforconflictintheanimalworldisterritory.Themaleanimalestablishesanarea.Thesizeoftheareaissuffi
一项调查表明,一些新闻类期刊每一份杂志平均有4~5个读者。由此可以推断,在《诗刊》12000订户的背后约有48000~60000个读者。上述估算的前提是:
在中华人民共和国领域外犯罪,依本法应负刑事责任,但在外国已经受过刑罚处罚的,可以()处罚。
在VisualFoxPro中,有如下程序,函数IIF()返回值是*程序PRIVATEX,YSTORE"男"TOXY=LEN(X)+2?IIF(Y<4,"男","女")RETURN
最新回复
(
0
)