首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Obj { static int i; public: Obj() { i++; } ~Obj() { i--; } static int getVal() { ret
有如下程序: #include using namespace std; class Obj { static int i; public: Obj() { i++; } ~Obj() { i--; } static int getVal() { ret
admin
2021-07-02
60
问题
有如下程序:
#include
using namespace std;
class Obj {
static int i;
public:
Obj() { i++; }
~Obj() { i--; }
static int getVal() { return i;}
};
int Obj::i=0;
void f() {Obj ob2; cout<
int main() {
Obj ob1;
f();
Obj *ob3=new Obj; cout<
getVal();
delete ob3; cout<
return 0;
}
执行这个程序的输出结果是( )。
选项
A、232
B、231
C、222
D、221
答案
D
解析
本题考查构造函数和析构函数的调用顺序,调用顺序为先构造的后析构,后构造的先析构。本题中先定义了一个对象ob1,会执行构造函数,那么i就变为了1;再执行函数f后,由于又定义了一个对象ob2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了1,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。
转载请注明原文地址:https://jikaoti.com/ti/03h0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classTestClass{intn:public:TestClass(intk):n(k){}in
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
下列关于运算符函数的描述中,错误的是()。
下列关于栈叙述正确的是()。
下列关于模板的叙述中,错误的是()。
下列关于虚基类的描述中,错误的是()。
下列关于虚基类的描述中,错误的是()。
下列有关运算符重载的叙述中,正确的是()。
随机试题
14岁男孩,因腹痛来医院就诊。查体:双下肢出现对称性成片状小出血点,尿常规发现血尿(+++),该患者最可能的诊断是
患者发热、干咳、胸闷,疑似SARS,入院时应
在工程网络计划中,关键工作是指()的工作。
下列账簿中,需要每年进行更换的账簿有()。
下列属于税务行政诉讼的受案范围的有()。
关于非金融资产的公允价值计量,下列说法中正确的有()。
某数码相机内置512MB的存储空间,拍摄分辨率设定为1024x1024像素,颜色深度为24位,若不采用压缩存储技术,使用内部存储器最多可以存储()张照片。
以下叙述错误的是______。
Theexamplesplacedbeforeanationarevital.Whatweconstantlyobserve,wetendtocopy.Whatwereward,weperpetuate.This
A、Becauseitmaywasteelectricity.B、Becauseitmaydamagethewoman’seyesight.C、Becausethewomanmaygetbadinfluencefrom
最新回复
(
0
)