首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
66
问题
有如下程序: #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>intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abe后,y的值为()。
下列叙述中正确的是()。
在三级模式之间引入两层映像,其主要功能之一是()。
若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。
结构化程序设计的基本原则不包括()。
以下关于结构化程序设计的叙述中正确的是()。
静态联编所支持的多态性称为编译时的多态性,动态联编所支持的多态性则称为运行时的多态性,动态多态性由【】来支持。
多态性指的是()。
在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”。类是一种抽象的概念,属于该类的一个实例叫做“【 】”。
随机试题
Universitiesareinaseeminglyself-contradictoryposition.AsStefanCollinipointsoutinhisbook,theseancient【C1】________
不同文化不同背景下的人们,在一些生活习惯上很是不同:对一个阿拉伯人亮出鞋底或在与虔诚的穆斯林的商业交往中使用左手,使许多商人丧失了非常宝贵的商业机会(穆斯林用右手吃饭,左手仅在如厕时使用)。在同日本人做生意时,美国人最头痛的是日本人做出
能确定食管癌已外侵的是
心室肌的后负荷是指
风疹的皮疹特点是
世界银行咨询服务采购评审方法中的“基于质量和费用的评审方法(QCBS)”一般采用“双封制”的方式,具体规定有()。
在居住区规划与设计中,无电梯的住宅楼层数不应超过()层。
Whatdidthemanwant?
From:RobertWilliamsTo:AllemployeesSubject:SoftwareinstallationPleasedisregardmye-mailsentyesterday.Iinadverten
Thanksinparttotechnologyanditsconstantsoundingandringing,roughly41millionpeopleintheUnitedStates—nearlyathir
最新回复
(
0
)