首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> class A { public: A(int n=2):m_i(n){} ~A(){std::cout<<m_i;} protected: int m_i; }; class B:public A {
有如下程序: #include<iostream> class A { public: A(int n=2):m_i(n){} ~A(){std::cout<<m_i;} protected: int m_i; }; class B:public A {
admin
2017-07-28
29
问题
有如下程序:
#include<iostream>
class A
{
public:
A(int n=2):m_i(n){}
~A(){std::cout<<m_i;}
protected:
int m_i;
};
class B:public A
{
public:
B(int n):m_a2(n),m_al(m_i+1){}
public:
~B()
{
std::cout<<m_i;
--m_i;
}
private:
A m_a1;
A m_a2:
};
int main()
{
B b(5);
return0;
}
运行后的输出结果是( )。
选项
A、2351
B、2531
C、5354
D、5534
答案
B
解析
main()函数中调用了B的构造函数,参数为5,接下来B类对象b的构造过程如下:
①调用基类A的默认构造函数,构造对象b的基类部分:初始化m_i为2。
②按照B类中成员的定义顺序,使用成员初始化列表初始化两个A类成员:首先执行m_a1(m_i+1),m_i为基类A中的成员,此时值为2,调用A类的默认构造函数,初始化m_a1.m_i为3;然后执行m_a2(n),调用A类的默认构造函数,初始化m_a2.m_i为5。接着main()执行return语句,此时对象b需要调用析构函数进行释放,释放过程如下:
①首先运行B类的析构函数~B(),输出m_i的值为2,然后将m_i自减1,使得m_i的值为1。
②按照B类中成员定义顺序的反顺序,首先调用m_a2的析构函数~A(),释放对象m_a2,输出m_a2.m_i的值5;再调用m_a1的析构函数~A(),释放对象m_a1,输出m_a1.m_i的值3。
③最后调用基类A的析构函数~A(),释放b对象中的基类部分,输出m_i的值1。
由上分析,程序运行结果为:2531。故本题答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/OFAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是【 】。#include<iostream.h>template<classT>Tmax(Tx[],intn){inti;Tmaxv=x[0];f
下列描述中错误的是( )。
如果一个类含有一个以上的纯虚函数,则称该类为
如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。classmyClass{private:intdata;public:myClass(in
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thursday,Friday=2};表达式Wednesday==Friday的值是()。
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在横线处填上适当内容,实现该函数。Boo1fun(char*str){inti=0,j=0;while(str[j]j++;f
下面程序错误的语句是①#include<iostream.h>②voidmain(0③{④int*p=newint[1];⑤p=9;⑥cout<<*p<<end1;
实现比较两个字符串大小的函数是_____。
若有定义:intk,*q;,则下列各选项中赋值表达式正确的是
随机试题
Google,theInternetsearch-enginecompany,hasannounceditwillgivemorethantwenty-fivemilliondollarsinmoneyandinvest
气压传动系统的泄油不会严重影响工作。()
不属临床医学研究的道德要求者是
A、滴制法B、热熔法C、乳化法D、塑制法E、压灌法浓缩丸的制备可选用
某高速公路匝道(无人行道)由3联连续箱梁桥组成,由于货车侧翻导致第二联桥面铺装及栏杆受损。请回答以下问题。检查中发现,第二联(4×20m)右侧护栏被车辆撞断,损坏长度超过20m,则护栏的评定标度应为()。
《中华人民共和国大气污染防治法》规定,大、中城市人民政府应当制订规划,对()限期使用天然气、液化石油气、电或者其他清洁能源。
当堤坝临水坡漏洞口多而小,且范围较大时,在黏性土料充足的情况下,宜采用()进行抢护。
根据《招标投标法》的有关规定,依法必须进行招标的项目,招标人应当自确定中标人之日起()日内,向有关行政监督部门提交招标投标情况书面报告。
根据《公务员法》,国家实行公务员职位分类制度。与“品位分类”相比,“职位分类”的特点是()。
Thehighestanxietymomentintheholidayseasonmustbethemomentjustbeforeyourlovedonesunwraptheirgifts.Theribbonc
最新回复
(
0
)