首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class obj{ static int i; public: Obj(){i++;} ~Obj(){i--;} s
有如下程序: #include using namespace std; class obj{ static int i; public: Obj(){i++;} ~Obj(){i--;} s
admin
2017-02-18
17
问题
有如下程序:
#include
using namespace std;
class obj{
static int i;
public:
Obj(){i++;}
~Obj(){i--;}
statie int getVal(){return i;}
};
int obj::i=0:
void f(){obj oh2;cout<
int main(){
Obj obl;
f();
obj*oh3=new obj;cout<
getVal();
delete oh3;cout<
return 0;
}
执行这个程序的输出结果是( )。
选项
A、232
B、231
C、222
D、221
答案
D
解析
本题考查构造函数和析构函数的调用顺序,调用顺序为先构造的后析构,后构造的先析构。本题中先定义了一个对象ob1,会执行构造函数,那么i就变为了l;再执行函数f后,由于又定义了一个对象ob2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了1,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。
转载请注明原文地址:https://kaotiyun.com/show/cIAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
以下程序的输出结果是#include<iostream.h>longfun(intn){longs;if(n=1||n=2)s=2;elses=n-
所有在函数中定义的变量,连同形式参数,都属于
模板使我们可以用一个代码段指定一组相关函数(称为______)或一组相关类(称为______。
当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【】。
当要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文件开始处使用#include命令,使之包含()文件。
下面的说明中,正确的函数定义是()。
下面关于构造函数和析构函数的描述,错误的是()。
对于语句cin>>x中的各个组成部分,下列叙述中错误的是
以下叙述正确的是
随机试题
三环商场对其出售的商品实行“三包”,某顾客购得一台冰箱不合质量要求,在此情况下,商场与顾客之间发生()
按组织学改变,原发性支气管肺癌有哪些类型?如何区分中央型与周围型肺癌?
Debakey根据病变部位将主动脉夹层分为下列哪三型
下列属于艾滋病的高危人群是
自2006年1月1日起,我国个人所得税起征点体提高至()元
关于沪深300指数的描述,正确的有()。
下列诗句中的“月”字的含义与其他三项不同的是:
Bysaying"theletter’b’issilentinpronunciation",theauthorwantstoindicatethat______Wecaninferfromthetextthat
阅读以下说明,回答问题1~问题6,将答案填入对应的答案栏内。【说明】在Linux下安装配置代理服务Squid,Squid服务程序/usr/sbin/squid需要读取配置文件/etc/squid/squid.conf,以下是该文件内容的
•Readthefollowingpassagebelowaboutafurnitureretailer.•Foreachquestion(23-28),choosethecorrectanswer.•Markon
最新回复
(
0
)