首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2013-02-27
46
问题
有如下程序: #include<iostream> using namespace std; Class A { public: A(){cout<<“A”;} ~A(){cout<<“~A”;} }; A*p; public: B(){cout<<“B”;p=new A;} ~B(){cout<<“~B”;delete p;} }; 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=newA再调用类A的构造函数输出A;析构函数的调用顺序和构造函数的调用顺序相反。
转载请注明原文地址:https://www.kaotiyun.com/show/nlVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
有以下程序 #include<stdio.h> main() { intk=2,m=4,n=6,*pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%d\n",n); } 程序运行后的输出
有以下程序:#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};structAf(structAt);main(){structAa
在源程序的开始处加上“#include<stdio.h>”进行文件引用的原因,以下叙述正确的是()。
若有定义:inta=1,b=2,c=3,d=4,m=2,n=2;,则执行(m=a>b)&.&(n=c>d)后n的值是()。
以下选项中合法的C语言常量是()。
数据库设计的四个阶段是:需求分析、______、概念设计和物理设计。
一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为()。
下面是重载为非成员函数的运算符函数原型,其中错误的是()。
下面是复数类complex的定义,其中重载的运算符“+”的功能是返回一个新的复数对象,其实部等于两个操作对象实部之和,其虚部等于两个操作对象虚部之和;请补充完整:classcomplex{doublereal;//实部doubl
随机试题
手术前准备不包括
为防止中草药变性,影响疗效,煎药用具不宜选
对某预应力简支T梁构件进行单梁跨中抗弯静载试验,该梁标准跨径为30.6m,计算跨径为30.0m,跨中设计弯矩为4000.0kN·m(不计冲击),冲击系数为0.25,采用重物堆载方式在全桥跨范围进行均布加载,荷载集度为45Kn/m。最大试验荷载作用下,跨中挠
“工资结算汇总表”集中反映()。
甲公司是一科技型中小企业,2018年全年因研发活动发生研发费用共计150万元,已知该公司对于该研发费用核算未计入无形资产成本。根据企业所得税法律制度的规定,该公司计算2018年应纳税所得额时可以扣除的研发费用为()万元。
关于倾听技术,错误的做法是()。
关于现代教育的“社会目的”,下列描述中不恰当的是()
[*]
设α1,α2,…,αn为n个n维列向量,证明:α1,α2,…,αn线性无关的充分必要条件是
(9)不是项目目标特性。
最新回复
(
0
)