首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2019-06-04
49
问题
有如下程序:
#include
using namespace std;
class Part{
public:
Part(int x=0):val(x){cout<
~Part(){cout<
private:
int val;
);
crass 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/198p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
软件工具软件开发环境或称软件工程环境是全面支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务的完成。
有如下程序:#include<iostream>usingnamespacestd;classTlestClass{intn;public:TestClass(intk):n(k){
下面关于函数模板的表述中不正确的是()。A)类模板的成员函数都是模板函数B)类模板本身在编译过程中不会产生任何代码C)类模板只能有虚拟类型的参数D)用类模板定义一个对象时,实参不能省略
以下函数模板min的功能是返回数组a中最小元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmin(Ta[],intn){Ttemp=a[0];for(inti=1,i<n;i
A、 B、 C、 D、 B常用的软件结构设计工具是结构图,也称程序结构图。DFD图(数据流图)是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,它是需求分析阶段的图形工具。盒式图(
下列关于函数模板的描述中,正确的是()。A)函数模板是一个实例函数B)使用函数模板定义的函数没有返回类型C)函数模板的类型参数与函数的参数相同D)通过使用不同的类型参数,可以从函数模板得到不同的实例函数
在对函数进行原型声明时,下列语法成分中,不需要的是()。A)函数返回类型B)函数参数列表C)函数名D)函数体
已知doubleVar;是文件1.CPP中的一个全局变量定义,若文件2.CPP中的某个函数也需要访问,则在文件2.CPP中var应说明为____________。
数据流图的类型有【】和事务型。
在数据流图(DFD)中,带有名字的箭头表示
随机试题
鼻和鼻窦CT扫描参数的选择,错误的是
白内障囊内摘除术最常见的并发症有
酮体指的是()。
根据《执业药师资格制度暂行规定》,通过非法手段获取《执业药师资格证书》或《执业药师注册证》的人员,发证机构应
下列关于爆炸冲击波的破坏作用和防护措施说法不正确的是()
下列关于地下铁路网布置的基本原则的表述中,错误的是()。
下列关于存货可变现净值的表述中,正确的是()。
下表是某项目成本构成,请结合自己所学的知识,回答下面的问题: 从上表中可以看出,该项目人工费用________。
下列关于栈的叙述中,正确的选项是()。
7.8million
最新回复
(
0
)