首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ }
有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ }
admin
2021-09-05
89
问题
有如下程序
#include
using namespace std;
class AA{
char c;
public:
AA(char ch):c(ch){ }
~AA(){ cout<
};
class BB: public AA{
AA m;
public:
BB(): m(’M’),AA(’C’){ }
~BB(){ cout<<’m’; }
};
int main(){
BB bb;
return 0;
}
运行这个程序的输出是
选项
A、CMm
B、MCm
C、mCM
D、mMC
答案
D
解析
程序执行结束时,系统会自动调用类的析构函数清理自己的成员,析构函数工作过程如下:1、执行析构函数的函数体;2、如果该类中拥有类对象成员,且类对象有析构函数,则以类对象成员声明次序的相反顺序调用其析构函数,销毁类对象成员;3、按原来构造顺序的相反顺序向上依次调用基类的析构函数。所以程序运行结束时,首先调用BB的析构函数并执行函数体,输出"m";然后调用成员m的析构函数,销毁m成员,输出’M’,再调用基类的析构函数,输出’C’;综上所述,程序运行的输出是:"mMC";答案为D。
转载请注明原文地址:https://www.kaotiyun.com/show/l65p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
己知函数FA调用FB,若要把这两个函数定义在同一个文件中,则()。
下列程序用来判断数组中特定元素的位置所在,则输出结果为()。#include<conio.h>#include<iostream.h>intfun(int*p,intn,int*j){inti;*j=0;for(i=0;i<n;i
有如下程序:#include<iostrearn>usingnamespacestd;intmain(){inta[6]={23,15,64,33,40,58};ints1,s2;s1=s2=a[0];for(int*p=a+1;
有如下程序:#includeusingnamespacestd;intmain(){int*p;*p=9;eout
下列关于运算符重载的叙述中,正确的是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#include<iostream>usingnamespacestd;classBase{
下列关于输入流类成员函数getline()的描述中,错误的是()。
在面向对象方法中,不属于“对象”基本特点的是()。
随机试题
A.细胞增殖过度B.细胞增殖缺陷C.二者均有与糖尿病肾病发生有关的是
以下不属于外部设备的是()
常见的栓塞是
朊病毒(或称朊毒体)的化学本质是
A.寿胎丸B.保阴煎C.圣愈汤D.胎元饮E.生化汤
在下述()的情况下,挤出效应更有可能发生。
潮汐是海水的运动形式之一。读下图并结合所学知识,完成问题。有关潮汐的叙述正确的是()。
教师只要在课堂教学中按其职业道德的要求行事就可以了。()
A、4B、6C、8D、10B4+28+32=64=(7+1)2,3+9+4=(3+1)2,3+10+12=(4+1)2,故5+24+20=(?+1)2,则?=6,正确答案是B选项。
A、 B、 C、 D、 D
最新回复
(
0
)