首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
29
问题
有如下程序:
#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://kaotiyun.com/show/DDyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下函数模板定义:template<typenameT1,TypenameT2>T1Fun(T2n){returnn*5.0;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为()。
有如下程序:#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}~A(){cout<<’C’;}};classB:publicA{public:B(
有如下程序:#include<iostream>usingnamespacestd;classB{public:virtualvoidf(){cout<<"B";}voidg(){cout<<"B";)};classD:pub
在公有继承的情况下,允许派生类直接访问的基类成员包括()。
下面类的声明中的几个语句,正确的是(设定语句是主函数中的语句)()。classTestClass{private:intdata;public:TestClass(intg_data){data=g_data;}void
请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,此工程中含有—个源程序文件projl.cpp。其中位于每个注释“//ERROR**********found**********”之后的——行语句存在错误。请改正这些错误,使程序的输
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程pmj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出
下面叙述中错误的是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.cpp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。
下列符号中不属于C++关键字的是()。
随机试题
以下属于流动资产周转情况的指标主要有
下列属于处方前记的是
患者,男性,62岁。自觉牙龈出血、牙齿松动半年余。检查:CI-S:3,多个牙齿松动度在Ⅰ~Ⅱ度之间。牙龈红肿,探诊易出血。牙周袋深3~5mm。如该患者口腔内有种植体修复,则种植牙定期洁治的间隔时间最好为
我国法的形式主要包括宪法、法律、行政法规、地方性法规、行政规章等。下列属于法律的有()
补偿性余额是银行要求借款人在银行中保持按贷款限额或实际借用额的一定百分比计算的最低存款余额,通常比例为()。
判断心理问题的严重程度,需要了解()方面的内容。(2003年8月三级真题)
“资本害怕没有利润或者利润太少,就像自然界害怕没有空气一样。一旦有适当的利润,资本就胆大起来。如果有10%的利润,它就保证到处被使用;有20%的利润,它就活跃起来;有50%的利润,它就铤而走险;为了1000%的利润,它就敢于践踏一切人间法律;有300%的利
算法分析的目的是()。
某汉字的国际码是5650H,它的机内码是
AudienceofWritingAudienceisaveryimportantconceptforwriting.Youneedtoanalyzeyouraudienceintermsofthefollo
最新回复
(
0
)