首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
2020-05-14
36
问题
有如下程序
#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(charch),用ch初始化成员c后输出成员c的值,即输出’q’、’p’,再执行类BB的函数体,输出’B’;程序执行结束时,系统会自动调用类的析构函数清理自己的成员,析构函数工作过程:
1、执行析构函数的函数体;
2、如果该类中拥有类对象成员,且类对象有析构函数,则以类对象成员声明次序的相反顺序调用其析构函数,销毁类对象成员;
3、按原来构造顺序的相反顺序向上依次调用基类的析构函数。所以程序运行结束时,首先调用BB的析构函数并执行函数体,输出"b";然后调用m2的析构函数,销毁m2成员,输出’a’,再调用m1的析构函数,销毁m1成员,输出’a’;综上所述,程序运行的输出是:"qpBbaa";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/dv8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:classXX{protected:intk;public:XX(int=5):k(n){};~XX(){tout
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为【】。a[0]=1;a[1]=2;swap(a,2);
若有如下语句#include<iostream.h>voidmain(){intx=3:do{X=X-2;cout<<X;}while(!(--x)
有如下程序:#include<iostream>usingnamespacestd;classCon{charID;public:Con():ID(’A’){cout<<1;}Co
已知在函数func()中语句this->ff=0;与语句fi=O;的效果完全相同。对于这一现象,下列表述中错误的是()。
下述关于数据库系统的叙述中正确的是
在C++语言的结构化程序设计中,【】是程序的基本组成单元;在C++语言的面向对象设计框架中,【】是程序的基本组成单元。
以下叙述中不正确的是
关于动态联编的下列叙述中,______是错误的。
随机试题
血小板的不可逆性聚集是由于
在学校门口遇到这种情况要做好随时停车的准备。(图3.13.4)
品牌经营战略
AmericanCultureAmericancultureisuniquebecauseitis【C1】______(cultivate),formedanddevelopedundercertaincondition
A.脾曲结肠癌,DukesC期B.乙状结肠癌,DukesA1期C.横结肠癌,DukesA2期D.乙状结肠癌,DukesD期E.降结肠癌,DukesB期根治术后5年生存率为65%的是
已知某工程双代号网络计划的计算工期为130天。如果计划工期为135天,则关键线路上()。
一般情况下,微波天馈线系统包括()。
下列资料中,会计核算软件能打印的有()。
Beingamanhasalwaysbeendangerous.Thereareabout105malesbornforevery100females,butthisratiodropstonearbalanc
Archimedesismostwell-knownforonespecificideathathecameupwith."Archimedes’sPrinciple."statesthatasolidobjec
最新回复
(
0
)