首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Part{ public: Part(int x=0):val(x){cout<<val;} -Part(){cout<<val;
有如下程序: #include using namespace std; class Part{ public: Part(int x=0):val(x){cout<<val;} -Part(){cout<<val;
admin
2019-05-06
53
问题
有如下程序:
#include
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=O):p2(x),pl(y),val(z){cout<
-Whole(){cout<
private:
Part pl,p2;
int val;
);
int main(){
Wh01e obj(1,2,3);
return 0:
)
程序的输出结果是( )。
选项
A、123321
B、213312
C、213
D、123123
答案
B
解析
此题考查的是类的构造与析构。建立类的对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声叫的顺序 (自左向右)接着执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序,最后执行自身的构造函数。析构顺序与之相反。本题中,Whole类中_仃两个Part类的成员p1和p2,根据它们定义的顺序,先构造p1再构造p2。所以,首先被构造的是pl(y),输出2;第二个被构造的是p2(x),输出1;最后调用析构函数,输出val的值3;析构函数调用顺序与构造函数相反。故最后输出213312。
转载请注明原文地址:https://kaotiyun.com/show/fKAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在包含1000个元素的线性表中实现如下各运算,所需的执行时间最长的是()
以下程序输出结果为______。#include<iostream>usingnamespacestd;classTestClass1{public:TestClass1(){}TestCla
必须用一对大括号括起来的程序段是
对于一个类的定义,下列叙述中错误的是
若下面程序运行时输出结果为:1,A,10.12,B,3.5请将程序补充完整。#include<iostream>usingnamespacestd;intmain(){voidtest
假定TestClass为一个类,则该类的拷贝构造函数的声明语句为()。
下面的描述中,正确的是()。
在函数中,可以用auto、extern、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
在面向对象方法中,不属于“对象”基本特点的是
随机试题
油层分布状况、油层性质基本相同,并在一套相似的沉积环境下形成的油层组合是()。
有关输血,不正确的是
制备注射剂时加入的等渗调节剂有()
护士小刘正在为做胰十二指肠切除术的患者准备麻醉床。小刘为患者准备麻醉护理盘中的用物,不需要的是
下列关于固定资产后续支出的表述中,正确的有()。
根据《票据法》的规定,下列关于各种票据行为的表述,不正确的是()
试根据新古典增长模型的基本方程式△k=sy一(n+δ)k,分析讨论下列问题:为什么说,储蓄率的增长能够提高人均产出水平,但不能够保持长久的高增长率?
让一个吸烟上瘾的人扮演因吸烟患肺癌而接受治疗的病人,之后他戒了烟。这一情境中对戒烟起作用的主要因素是
下列叙述中正确的是
Jack:_________Lora:I’manengineer.Jack:Oh,areyou?Lora:Howaboutyou?Jack:Iworkforatradingcompany.
最新回复
(
0
)