首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Part{ public: Part(int x=0):val(x){cout
有如下程序: #include using namespace std; class Part{ public: Part(int x=0):val(x){cout
admin
2020-04-07
23
问题
有如下程序:
#include
using namespace std;
class Part{
public:
Part(int x=0):val(x){cout<
~Part(){cout<
private:
int val;
};
class Whole{
public:
Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<
~Whole(){cout<
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。所以,首先被构造的是p1(y),输出2;第二个被构造的是p2(x),输出1;最后调用析构函数,输出val的值3;析构函数调用顺序与构造函数相反。故最后输出213312。
转载请注明原文地址:https://kaotiyun.com/show/mC8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的运行结果是【】。#include<iostream>#include<string>usingnamespacestd;voidmain(){chara[10]="China",b[]="
语句inti=2.8*6;中整型常量i定义后赋初值的结果是()。
下列程序的输出结果是#include<iostream.h>intb=2;intfunc(int*a){b+=*a;return(b);}voidmain(){inta=2,res
执行语句序列:intx=10,&r=x;cout
若有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k);cout<<m<<","<<i<<end1;}执行后的输出结果是
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列说法中错误的是
“商品”与“顾客”两个实体集之间的联系一般是
随机试题
Excel2010中,工作表是一个________。
Somepessimisticexpertsfeelthattheautomobileisboundtofallintodisuse.Theyseeadayinthenot-too-distantfuturewh
关于卵巢单纯性浆液性囊腺瘤,下列哪一项是错误的
口腔白色角化病的病因是
有关病毒性肝炎的描述下列哪项是错误的( )
下列各项有关金融工具确认和计量的表述中,不正确的是()。
聚合函数“COUNT(列名)”的语义是______。
某次考试期间道路交通量特别大。交警例行检查,发现一辆车超载,学生很多,老师也说时间很紧,没有办法才超载,作为现场的交警,你怎么办?
一台老钟,每小时比标准时间慢4分钟,下午3点钟的时候和一只走得很准的手表对过时,现在那只手表正好指向晚上10点,请问,老钟还要多久才能走到10点钟?
阅读下列材料,并回答问题:材料一:在1843年,1844年,1845年北方各商埠刚开放时英国兴奋若狂,舍菲尔德的一家著名商行向中国输出大批刀叉,并声称它准备把刀叉供给全中国。但中国人不懂得刀叉的用途,而是用筷子扒饭,他们对这些器物连看也不看。.....一
最新回复
(
0
)