首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include class A { public: A(int n=2):m_i(n){} ~A(){std::cout
有如下程序: #include class A { public: A(int n=2):m_i(n){} ~A(){std::cout
admin
2019-05-22
67
问题
有如下程序:
#include
class A
{
public:
A(int n=2):m_i(n){}
~A(){std::cout<
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;
}
private:
A m_a1;
A m_a2;
};
int main()
{
B b(5);
return 0;
}
运行后的输出结果是( )。
选项
A、2351
B、2531
C、5354
D、5534
答案
B
解析
main()函数中调用了B的构造函数,参数为5,接下来B类对象b的构造过程如下:①调用基类A的默认构造函数,构造对象b的基类部分:初始化mj为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_j的值为2,然后将m_i自减1,使得m_i的值为1。②按照B类中成员定义顺序的反顺序,首先调用m_a2的析构函数~A(),释放对象m_a2,输出m_a2.mj的值5;再调用m_a1的析构函数~A(),释放对象m_a1,输出m_a1.mj的值3。③最后调用基类A的析构函数~A(),释放b对象中的基类部分,输出m_i的值1。
由上分析,程序运行结果为:2531。故本题答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/XB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C此题考查的是函数模板。声明一个函数模板的格式是:template函数声明,{函数体}其中的是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:t
A、 B、 C、 D、 A本段程序实现从键盘接收一段字符串,并计算字符串的长度,cin输入流对象会将空白符、回车符、tab键作为终止标志,所以输入Ahcdefgabcd得到的字符串长度为7。
A、 B、 C、 D、 C类指针可以指向派生类对象,但是只能访问基类的数据成员和成员函数。f()作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。
A、 B、 C、 D、 C在数据字典编制过程中,常使用定义方式描述数据结构。
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
诊断和改正程序中错误的工作通常称为______。
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#include<iostream>usingnamespaees
在结构化分析使用的数据流图中,使用用__________解释其中的图形元素。
下列选项中不属于软件生命周期开发阶段任务的是()。
下列字符串中,正确的C++标识符是()。
随机试题
悲剧给人带来了强烈的审美愉悦,使人能够【】
试述西方发达国家中央政府与地方政府行政权力关系的发展趋势。
对于胎儿宫内生长受限以下哪项说法不正确
在工程项目进度控制计划系统中,用以确定项目年度投资额、年末进度和阐明建设条件落实情况的进度计划表是( )。
中国历史上第一家由中国人自己创办的证券交易所是()。
全身松弛法由()在20世纪20年代首创。
若集合M={4,5,6,7},N={3,5,7,8},则M∩N=()。
“其身正,不令而行;其身不正,虽令不从。”这说明老师的教育教学要注意()。
设α1=(6,—1,1)T与α2=(—7,4,2)T是线性方程组的两个解,则此方程组的通解是_______。
WhatdoesSallydoathersupermarketjob?
最新回复
(
0
)