首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class TestClass1 { public: TestClass1{cout<<"TestClass1";} ~TestClass1(){cout<
有如下程序: #include<iostream> using namespace std; class TestClass1 { public: TestClass1{cout<<"TestClass1";} ~TestClass1(){cout<
admin
2020-07-30
30
问题
有如下程序:
#include<iostream>
using namespace std;
class TestClass1
{
public:
TestClass1{cout<<"TestClass1";}
~TestClass1(){cout<<"~TestClass1";}
};
class TestClass2:public TestClass1
{
TestClass1*p;
public;
TestClass2(){cout<<"TestClass2";p=new
TestClass1();}
~TestClass2(){cout<<"~TestClass2";delete p;}
};
int main()
{
TestClass2 obj;
return0:
}
执行这个程序的输出结果是( )。
选项
A、TestClass2TestClass1TestClass1~TestClass1~TestClass2~TestClass1
B、TestClass1TestClass2TestClass1~TestClass2~TestClass1~TestClass1
C、TestClass2TestClass1TestClass1~TestClass2TestClass1~TestClass1
D、TestClass1TestClass2TestClas1~TestClass1~TestClass2~TestClass1
答案
B
解析
派生类中构造函数的执行顺序是:先调用基类构造函数,对基类数据成员初始化,然后调用子对象构造函数,对子对象数据成员初始化;最后执行派生类构造函数本身,对派生类数据成员初始化。由主函数main入手,首先定义了一个TestClass2对象obj。其中TestClass2公共继承TestClass1,对象obj可以访问TestClass1中的公有成员函数。TestClass2中定义了一个TestClass1的指针p,给p分配新空间,即指向类TestClass1,输出“TestClass1”。在TestClass2的构造函数中首先输出“TestClass2”,并在TestClass1构造函数中输出“TestClass1”。TestClass2析构函数中输出“~TestClass2”,删除指针p,输出“~TestClass1”。析构TestClass1输出“~TestClass1”。
转载请注明原文地址:https://www.kaotiyun.com/show/DDyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下函数模板定义:template<typenameT1,TypenameT2>T1Fun(T2n){returnn*5.0;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为()。
下列程序段中包含4个函数。其中具有隐含this指针的是()。intfun1();classTest{public:intfun2();friendintfun3():staticintfun4();}
有如下程序:#include<iostream>#include<cstring>usingnamespacestd;classXCF{inta:public:XCF(intaa=0):a(aa){cout<<"1";}XCF(X
若MyClass是一个类名,且有如下语句序列MyClassc1,*c2;MyClass*c3=newMyClass;MyClass&c4=c1;上面的语句序列所定义的类对象的个数是()。
有如下类定义和变量定义:classParems{public:intpublicData;private:intprivateData;};classChildA:publicParents{/*类体略*/};classChil
关于函数中的<返回类型>,下列表述中错误的是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator=,以实现深层复制。要求:补充编制的内容写在“//**********333*
下列有关模板的叙述中,正确的是()。
在数据库设计中,将E-R图转换成关系数据模型的过程属于()。
随机试题
若f’(x0)=1,f(x0)=0,则=________。
Theappealoftheworldofworkisfirstitsfreedom.Thechildiscompelledtogotoschool:heis【21】ofauthority.Ashegrows
对氯普噻吨的描述哪些是正确的:
世界卫生组织推荐的癌痛治疗方案是
筛选ALT正常,HBV全阴者180名,单抗-HBs低水平者85名,以5~9岁小学生作为研究对象,用随机数字表分成两组。在研究对象和研究者都不了解分组情况下,一组接种国产疫苗,一组注射安慰剂,接种9年后检测,发现疫苗组HBV人年感染率为1.72%,安慰剂组为
海蛤壳的功效是礞石的功效是
下列关于建设工程材料设备采购合同相关事项的表述,不正确的是()。
汇票被拒绝承兑、被拒绝付款或者超过付款提示期限后背书转让,()应当承担汇票责任。
一个平时遵纪守法的人,在混乱时混在人群中焚烧车辆,这种行为可以从()中得到较好的解释。
张珊获得的奖金比李思的高,得知王武的奖金比苗晓琴的高后,可知张珊的奖金也比苗晓琴的高。以下各项假设均能使上述推理成立,除了:
最新回复
(
0
)