首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2019-07-10
38
问题
有如下程序:
#include
using namespace std;
class AA{
public:
AA(){ cout<<"A"; }
~AA(){ cout<<"a"; }
};
class BB: public AA{
AA aa;
public:
BB(){ cout<<"B"; }
~BB(){ cout<<"b"; }
};
int main(){
BB bb;
return 0;
}
运行这个程序的输出是
选项
A、AABaab
B、AABbaa
C、BAAaab
D、BAAbaa
答案
B
解析
首先,构造函数的工作过程:1、派生类的构造函数在执行函数体之前调用基类的构造函数初始化基类;2、在执行函数体之前根据声明次序初始化自己的成员;3、执行自身函数体。所以程序中在创建BB对象时,首先调用AA的构造函数,输出"A",然后初始化类BB中的成员aa,调用AA的构造函数,输出"A",最后执行函数体,输出"B";
程序执行结束时,系统会自动调用类的析构函数,析构函数工作过程:1、执行析构函数的函数体;2、如果该类中拥有类对象成员,且类对象有析构函数,则以类对象成员声明次序的相反顺序调用其析构函数,销毁类对象成员;3、按原来构造顺序的相反顺序向上依次调用基类的析构函数。所以程序运行结束时,首先调用BB的析构函数并执行函数体,输出"b";然后调用aa的析构函数,销毁aa成员,输出"a";最后调用基类AA的析构函数,输出"a";综上所述,程序运行的输出是:"AABbaa";答案为B。
转载请注明原文地址:https://jikaoti.com/ti/VBA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的输出结果是()。#include<iostream>usingnamespacestd;template<classT>Tmax(Tx,Ty){return(x>=y?x:y
设有以下说明语句:typedefstruct{intn;charch[8];}PER;则下面叙述中,正确的是()。
在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()。
以下关于外码和相应的主码之间的关系,正确的是_______。
下列符号中可以用作C++标识符的是()。
若有如下类声明class MyClass{public: MyClass(){cout<<1;}};执行下列语句MyClass a,b[2],*p[2];以后,程序的输出结果是
在下面程序中,编译时出现错误的是______。ClassA//(1){public://(2)A(){f();//(3)}voidB(){
以下选项中合法的用户标识符是
在下面的运算符重载函数的原型中,错误的是______。
对中断语句的说法,不正确的是()。
随机试题
启动子或启动序列结构与功能的特点为
乙公司欠甲公司30万元,同时甲公司须在2000年9月20日清偿对乙公司的20万元货款。甲公司在同年9月18日与丙公司签订书面协议,转让其对乙公司的30万元债权。同年9月24日,乙公司接到甲公司关于转让债权的通知后,便主张20万元的抵销权。下列说法哪些是正确
下列说法中正确的有()。
以抵押担保方式申请个人住房装修贷款的,贷款期限最长为()
商业银行建立的与全面风险管理相适应的管理信息系统体系,应具有(),及时反映风险假设变化对风险评估和资本评估的影响。
“究天人之际,通古今之变,成一家之言”是()的名言。
人类从婴儿到青春期的认识发展阶段中,开始具有抽象逻辑思维是在()。
我国新型工业化道路中发展科学技术的主要方针政策是
Howmuchdoesthegascost?
Althoughtheenjoymentofcolorisuniversalandcolortheoryhasallkindsofnamestoit,colorremainsaveryemotionalands
最新回复
(
0
)