首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";)
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";)
admin
2010-06-06
49
问题
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} ~A(){cout<<"~A";) }; class B:public A { A*p; public: B(){cout<<"B";p=new A;} ~B(){cout<<"~B";delete p;} }; int main() { B obj; return 0; } 执行这个程序的输出结果是( )。
选项
A、BAA~A~B~A
B、ABA~B~A~A
C、BAA~B~A~A
D、ABA~A~B~A
答案
B
解析
此题考查的是类的构造函数和析构函数。派生类构造函数的执行顺序为:首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。因此本题中,首先调用基类构造函数输出A,然后调用于对象的构造函数输出B, p=new A再调用类A的构造函数输出A,析构函数的调用顺序和构造函数的调用顺序相反。
转载请注明原文地址:https://kaotiyun.com/show/hYjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>voidfun(inta[],intn){ inti,t; for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i
下列关于return语句的叙述中,正确的是()。
设有如下函数定义:#includeintfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1:
给定程序MODIl.C中函数fun的功能是:计算S=f(-n)+f(一n+1)+…+f(0)+f(1)+f(2)+…+f(n)的值。例如,当n为5时,函数值应为:10.407143。f(x)函数定义如下:请改正程序中的错误,使程序能
下列定义变量的语句中错误的是()。
设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是()。(注:口代表空格字符)
以下是while语句的基本形式:while(表达式){语句;}其中“表达式”()。
若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)()。
下列二叉树描述中,正确的是()。
在C++语言中,封装是借助于什么达到的?
随机试题
如果f(x)=,则f(x)为偶函数。()
《处方药与非处方药分类管理办法(试行)》将非处方药分为甲乙两类,是根据药品的
计算机网络技术的核心是()。
烟气模拟分析可以得到烟气运动规律和模拟空间的环境参数指标,经常用到的参数不包括()。
关于集体建设用地使用原则的说法,错误的是()。
根据《中华人民共和国商标法》的规定,下列关于注册商标的表述中,正确的有()。
______是企业中最稳定的因素,它是企业永恒的财富。
Whatistheconversationmainlyabout?
Janeiscompletelyunderherhusband’s______.
A、It’sgoodofJonestohelphisfriend.B、It’sconvenienttomoveatweekend.C、Notmanypeoplespendweekendsathome.D、Jones
最新回复
(
0
)