首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ public: Base(){ cout
有如下程序: #include using namespace std; class Base{ public: Base(){ cout
admin
2020-07-23
57
问题
有如下程序:
#include
using namespace std;
class Base{
public:
Base(){ cout<<’B’; }
~Base(){ cout<<’b’; }
};
class Derived: public Base{
public:
Derived(){ cout<<’D’; }
~Derived(){ cout<<’d’; }
};
int main(){
Derived obj;
return 0;
}
运行这个程序的输出是
选项
A、BDbd
B、BDdb
C、DBbd
D、DBdb
答案
B
解析
派生类构造函数在构造派生类过程中,首先初始化基类,然后根据声明次序初始化派生类的成员,最后执行函数体;析构函数在程序结束时负责撤销自己的成员,首先运行派生类析构函数,然后按继承层次依次向上调用各基类析构函数;在main函数中,创建Derived类对象obj,此时调用Derived的构造函数,构造函数在进入函数体之前,又调用基类Base的构造函数构造基类,由于Derived中没有数据成员,所以构造完基类,执行函数体,输出为:"BD";撤销obj对象时,首先执行Derived的析构函数,然后调用基类的析构函数,输出为"db";答案为B。
转载请注明原文地址:https://kaotiyun.com/show/Fhyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类声明:classBase{protected:intamount;public:Base(intn=0):amount(n){}intgetAmount()const{returnamount;}};class
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
有如下类定义:classPoint{public:voidSetX(intxx);voidSetY(intyy);private:
有如下类声明:classHow{intk;public:How():k(99){}};则类How所拥有的构造函数的数量是
下列叙述中,错误的是
下列运算符只能重载为成员函数的一组是
将E-R图转换为关系模式时,实体和联系都可以表示为( )。
执行下列语句段后,输出字符"*"的个数是()。for(inti=50;i>1;i-=2)cout
下面不属于软件测试实施步骤的是()。
下列选项中,正确的C++标识符是()。
随机试题
有以下程序#include<stdio.h>main(){printf("%d\n",NULL);}程序运行后的输出结果是
手正位摄影的中心线应对准
男孩,4岁,因怀疑先天性心脏病就诊。合并症治愈后,进一步治疗的方法为
A.噻吗洛尔B.曲伏前列素C.溴莫尼定D.地匹福林E.毛果芸香碱具有缩小瞳孔和降低眼压作用的拟M胆碱药是()。
肺结核患者在家里休养治疗期间,简便有效的处理痰液的方法是
图示刚架中,若将作用于B处的水平力P沿其作用线移至C处,则A、D处的约束力:
我国增值税征税范围为()。
会计主体与法律主体是两个对等的概念。()
ABC会计师事务所拟为A公司提供20×8年财务报表审计业务,在考虑沟通问题时遇到以下事项,请代为做出正确的专业判断。(假设A公司20×7年度财务报表由EFG会计师事务所审计)
项目出现了严重的缺陷,项目经理将项目团队和质量工程师召集在一起分析问题,查找原因,大家就此提出了三种不同的看法。此时宜采用()工具或方法来确定问题的根本原因。
最新回复
(
0
)