首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
33
问题
有如下程序:
#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全国计算机二级
相关试题推荐
在重载一个运算符函数时,其参数表中没有任何参数,这说明该运算符是()。
read函数的功能是从输人流中读取( )。
根据注释内容在空白处填写适当内容。classLocation{private:intX,Y;public:voidinit(intinitX,intinitY);intGetX();intGetY
对于常数据成员,下面描述正确的是
已知语句int m=10;则下列引用的表示中正确的是
在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用()。
C++本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由类istream和()提供。
下面关于虚函数的描述,错误的是
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是
下述关于数据库系统的叙述中正确的是
随机试题
劳动法律关系的要素是构成各种劳动法律关系不可缺少的组成部分,下列不属于劳动法律关系要素的()
曾有过输卵管妊娠病史的妇女,再发输卵管妊娠的可能性为
A、豆科B、十字花科C、蔷薇科D、唇形科E、夹竹桃科大青叶来源于
对社会总需求和总供给进行总量调控,属于政府经济职能中的( )。
委托加工的物资收回后用于连续生产的,应将受托方代收代缴的消费税计入委托加工物资的成本。()
教育培养青少年儿童的过程就是德育过程。()
影响个体身心发展的诸因素中起主导作用的是()。
如右图所示,圆被三条线段分成四个部分。现用红、橙、黄、绿四种涂料对这四个部分上色,假设每部分必须上色,且任意相邻的两个区域不能用同一种颜色,问共有几种不同的上色方法?()
远东慕尼黑
希赛公司拥有多个应用系统,分别采用不同的语言和平台独立构建而成,企业需要集成来自不同系统的数据,并使用可定制格式的数据频繁地、立即地、可靠地、异步地传输数据。以下集成方式最能满足这种要求的是______。A.文件共享B.数据库共享C.远程方法调用D
最新回复
(
0
)