首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include <iostream> using namespace std; class CSample { private: int i; public: CSample (
有以下程序: #include <iostream> using namespace std; class CSample { private: int i; public: CSample (
admin
2010-03-29
91
问题
有以下程序: #include <iostream> using namespace std; class CSample { private: int i; public: CSample ( ); CSample( int val ); void Display(); ~CSample (); }; CSample:: CSample () { cout << "C1"; i = 0; } CSample: :CSample( int val ) { cout<< "C2"; i = val; } void CSample: :Display() { cout<<i<<": "; } CSample:: ~CSample ( ) { cout << "D"; } int main ( ) { CSample a, b( 10 ); return 0; } 执行后的输出结果为( )。
选项
A、ClC2DD
B、DDC1C2
C、C2C1DD
D、C1DC2D
答案
1
解析
本题程序首先定义了类CSample,其内部成员为private类型数据成员int i和public类型成员函数,包括两个构造函数、一个析构函数和一个普通成员函数 void Display(),其成员函数的功能分别为:
①CSample::CSample():构造函数,输出构造函数的执行消息“C1”,并将数据成员i赋值为i=0:
②CSample::CSample(int val):重载构造函数,输出构造函数的执行消息“C2”,并将数据成员i赋值为i=val:
③void CSample::Display():成员函数,输出数据成员i的值;
④CSample::~CSample():析构函数,输出析构函数的执行消息,并输出数据成员值。在主函数中,程序分别采用两个构造函数,创建了类CSample的两个对象,一个利用不带参数的构造函数创建对象a,另一个利用带参数的构造函数创建对象b。根据上面的分析,可以得到a和b中数据成员i的值分别为0(不带参数情况)和10(所带参数值)。因此下面的两条输出语句分别输出“0”和“10”。
此外,由于系统在创建对象时会调用构造函数,在对象生命期结束时会调用析构函数,因此程序还会有相应的输出。由于构造函数的调用顺序与对象创建的先后顺序一致,因此程序应该首先输出两个构造函数的调用信息,即“C1”和“C2”。在主函数执行结束后,由于两个对象a和b的生命期已经结束,因此系统将调用析构函数收回系统资源。由于析构函数的调用顺序与构造函数完全相反,因此系统将首先调用对象b的析构函数,程序输出析构函数执行信息“D”;之后调用对象a的析构函数,程序输出析构函数执行信息“D”。
转载请注明原文地址:https://kaotiyun.com/show/J6jp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>#include<string.h>typedefstructstu{charname[10];ch
以下叙述中正确的是()。
结构化程序设计的基本原则不包括()。
层次型、网状型和关系型数据库划分原则是()。
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
下面不属于结构化程序设计原则的是
设有下面的定义:structst{mta;floatb:}d;int*p,要使p指向结构变量d中的a成员,正确的赋值语句是()。
下列关于多态性的描述,错误的是
随机试题
说明磁场强度与磁感应强度的区别?
吴某,女,24岁,因化脓性扁桃体炎需注射青霉素,皮试阴性。肌内注射青霉素后5min,病人出现胸闷、气急、面色苍白、脉搏细弱、血压下降。你首先应该给予的急救措施是( )。【历年考试真题】
人民法院开庭审理刘某故意杀人案,经过法庭调查和辩论后,合议庭对控诉方指控刘某故意杀人的证据仍有疑问,于是宣布休庭,对证据进行调查核实。人民法院可以依法进行下列哪些调查工作?()
下面四个选项中,说法不正确的是()。
(2006,2010)微分方程y"+2y=0的通解是()。
下列加油加气站应设消防给水系统的是()。
我国的教育目的是什么?结合当前实际论述在教育教学工作中该如何贯彻落实?
最近,为防止艾滋病病毒进一步传播,尼日利亚政府大力鼓励艾滋病患者之间相互通婚。但是,联合国艾滋病规划署(UNAIDS)对“艾滋病婚姻”的做法持有疑虑,认为此举未必能阻止艾滋病病毒传播。虽然目前尚无证据证明“艾滋病婚姻”有助预防艾滋病病毒蔓延,但是对于很多“
AcupofteaisalmostasymbolofBritishculture.Asanation,wearewell-knownforourstronglikingforthisparticularhot
自觉维护国家的利益,就要承担对国家应尽的义务。具体表现在
最新回复
(
0
)