首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Part{ public: Part(int x=0):val(x){cout<<val;} ~Part(){
有如下程序: #include<iostream> using namespace std; class Part{ public: Part(int x=0):val(x){cout<<val;} ~Part(){
admin
2020-04-07
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。所以,首先被构造的是p1(y),输出2;第二个被构造的是p2(x),输出1;最后调用析构函数,输出val的值3;析构函数调用顺序与构造函数相反。故最后输出213312。
转载请注明原文地址:https://www.kaotiyun.com/show/Sx8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果为()。#include<iostream.h>template<classTT>classFF{TTa1,a2,a3;public:FF(TTb1,TTb2,TTb3)
下列叙述中正确的是
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1”<<end1;}};
下面程序的输出结果是______。#include<iostream>usingnamespacestd;intx;voidfunA(int&,int);voidfunB(int,int&);int
已知inta,*pa=&a;输出指针pa十进制的地址值的方法是()。
软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于______测试。
语句ofstreamf("DATA.DAT",ios_base::app|ios_base::binary);的功能是建立流对象f,并试图打开文件DATA.DAT并与之连接,而且
下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。#include<iostream.h>#inelude<iomanip,h>template<classT>classArray{
下列选项,不正确的是
随机试题
A.溶血反应B.过敏反应C.发热反应D.细菌污染反应输血最常见的并发症是
常用的工程计价方法有两种:即工料单价法和()。
( )是对施工活动实行科学管理的重要手段,它具有战略部署和战术安排的双重作用。
下列做法错误的是()。
()对于提高商业银行风险管理效率和质量有着非常重要的作用,直接体现了商业银行的风险管理水平和研究开发能力。
从五四运动到新中国成立前,中国反帝反封建的革命处于()。
【中国青年党】
Windows98中,可以安装3种类型的网络服务软件,它们分别是Microsoft网络上的文件与打印机共享、NetWare网络上的文件与打印机共享,以及NetWare【 】。
Mr.Huangwillgraduatein2000.
A、Heranavillageshop.B、Heworkedonafarm.C、Heworkedinanadvertisingagency.D、Hewasagardener.C题目询问说话人过去做什么谋生。说话人表明
最新回复
(
0
)