首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ cout
有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ cout
admin
2015-07-22
24
问题
有如下程序
#include
using namespace std;
class AA{
char c;
public:
AA(char ch):c(ch){ cout<
~AA(){ cout<<"a"; }
};
class BB{
AA m1;
AA m2;
public:
BB(): m2(’p’),m1(’q’){ cout<<"B"; }
~BB(){ cout<<"b"; }
};
int main(){
BB bb;
return 0;
}
运行这个程序的输出是
选项
A、pgBaab
B、pgBbaa
C、qpBaab
D、qpBbaa
答案
D
解析
构造函数初始化列表仅指定用于初始化成员的值,不指定这些初始化执行的次序,成员初始化的次序是类定义中声明成员的次序,成员初始化完成后执行构造函数的函数体;所以程序中在创建BB对象时,首先初始化m1,再初始化m2,由于m1、m2都是AA对象,且有实参q、p,所以调用构造函数AA(char ch),用ch初始化成员c后输出成员c的值,即输出’q’、’p’,再执行类BB的函数体,输出’B’;
程序执行结束时,系统会自动调用类的析构函数清理自己的成员,析构函数工作过程:1、执行析构函数的函数体;2、如果该类中拥有类对象成员,且类对象有析构函数,则以类对象成员声明次序的相反顺序调用其析构函数,销毁类对象成员;3、按原来构造顺序的相反顺序向上依次调用基类的析构函数。所以程序运行结束时,首先调用BB的析构函数并执行函数体,输出"b";然后调用m2的析构函数,销毁m2成员,输出’a’,再调用m1的析构函数,销毁m1成员,输出’a’;综上所述,程序运行的输出是:"qpBbaa";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/ZVNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序段共有错误()处#include<iostream>usingnamespacesstd;classSampleprivate:intn;public:
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为上【】。a[0]=1;a[1]=2;swap(a,2);
下面关于模板的描述,错误的是
下面程序的运行结果为#include<iostream.h>classA{intnum;public:A(inti){num=i;}A(A&a){num=a.n
下面程序错误的语句是①#include<iostream.h>②voidmain(0③{④int*p=newint[1];⑤p=9;⑥cout<<*p<<end1;
下列关于队列的叙述中正确的是
下列有关内联函数的叙述中,正确的是
若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需“要使用的存储类别是()。
耦合和内聚是评价模块独立性的两个主要标准,其中【】反映了模块内各成分之间的联系。
在内存中,存储字符’X’要占用1个字节,存储字符串"X"要占用______个字节。
随机试题
国家监督抽查的产品,地方不得另行重复抽查,上级监督抽查的产品,下级可以另行重复抽查。()
求极限。
某医师欲采用横断面调查研究的方法,调查高血压病在人群中的分布情况,选择最合适的指标为
利用激光构造深度仪测出的构造深度与铺砂法测试结果不同,两者没有良好的相关关系。()
工程建设其他费用不包括( )。
甲公司与乙运输公司签订了多式联运合同,应甲要求,乙开具了可转让多式联运单据。甲隐瞒了所运物品为危险物等相关信息,也未履行妥善包装的义务,且不久就将这份合同转让给了丙公司。运输期间该物品发生自燃,导致运输工具损毁。对此,下列说法中正确的是()。
某中外合资经营企业的董事会拟对企业章程修改事项作出决议。下列关于该董事会就该事项表决规则中,符合《中外合作经营企业法》规定的是()。
在我国历史上,以“中学为体,西学为用”为指导思想,第一次以法令形式颁布并实施的学制是()
顾颉刚先生对于传说时代的历史提出一个著名的理论,它是()。
A、He’dratherexercisebywalkingthanbyplayingtennis.B、Hedoesn’tliketoworkasmuchashelikestoplaytennis.C、His
最新回复
(
0
)