首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
25
问题
有如下程序:
#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全国计算机二级
相关试题推荐
有如下类声明:classXA{intx;public:XA(intn){x=n;}};classXB:publicXA{inty;public:XB(inta,intb);};在构造函数XB的下列定义中,正确的是(
有如下程序:#include<iostream>usingnamespacestd;voidf1(int&x){x++;}voidf2(intx){++x;}intmain(){intx=10,y=12;f1(x);f2(y)
有如下程序:#include<iostream>usingnamespacestd;voidfunction2(intn);voidfunction1(intn){if(n<=0)return;function2(n-2);}v
下列关于运算符函数的描述中,错误的是()。
执行下列语句段后,输出字符“*”的个数是()。for(inti=50;i>1:--i)cout<<’*’;
关键字unsigned不能修饰的类型是()。
为类Matrix重载下列运算符时,只能作为Matrix类成员函数重载的运算符是()。
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:10TestClass1注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error*****
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
随机试题
支饮的辨证分型有
脱气缸在正压运行时,易造成的润滑油损失为()。
在嗜铬细胞瘤患者手术过程中,出现急骤血压升高时,应首选的治疗药物是
A.蠕动B.分节运动C.容受性舒张D.集团运动大肠中速度快、传播远的运动形式是
食品生产经营者采购食品及原料,必须索取哪些材料
青年女性,脱发,四肢关节痛半年,肝、脾均于肋下2cm。Hb60g/L,RB1.8×1012/L,WBC7.7×109/L,PLT150×109/L,网织红细胞12%。尿蛋白(++),骨髓象增生性贫血,酸溶血试验阴性,最可能的诊断是
患者,男,50岁,在建筑工地干活时被一铁钉扎伤,医嘱予以破伤风肌内注射,护士在给患者做皮试时,正确的是
认知曲解中任意推断的特点是()。
设A是秩为3的4阶矩阵,α1,α2,α3是非齐次线性方程组Ax=b的三个解.若α1+α2+α3+=(0,6,3,9)T,2α2一α3=(1,3,3,3)T,k为任意常数,则Ax=b的通解为()
Allourdreamshavesomethingtodowithourfeelings,fears,longings,wishes,needsandmemories.Ifapersonishungry,orti
最新回复
(
0
)