首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2019-06-12
84
问题
有如下程序:
#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
解析
此题考查的是静态成员。本题中,obj类定义了一个静态数据成员i,并初始化为0.在主函数中,首先定义了1个该类对象obj,所以构造函数被调用1次,i加1;然后调用函数f(),该函数中义定义了一个对象ob2,此时i再次加1变为2,然后通过函数getVal()输出j的值2。f()函数结束,ob2变量被释放,故析构函数被调用了1次,i变成1:回到主函数中,又动态创建了1个对象并让:ob3指向它,此后i变成2并输出。最后释放动态创建的对象i变为1,输出1。故最终的输出结果是221。
转载请注明原文地址:https://kaotiyun.com/show/PF8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面的类定义中,如果要为其添加一个析构函数,对于析构函数定义正确的是()。classTestCtaSS{private:inta;public:TestClass(i
已知:intn=1:在下面定义引用的语句中,正确的是()。
执行下列语句序列:intx=1,&y=x;cout
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作_____________。
有如下类声明:classMyClass{inti;private:intj;protected:intk;public:intm,n;};其中,私有成员的数量为___
通过使用new和delete两个运算符进行的分配为【】存储分配。
在C++中,派生类有三种继承方式,它们分别是公有继承、私有继承和【 】。
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为__________。
将一个函数声明为一个类的友元函数必须使用关键字【】。
如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在【】关系。
随机试题
黄芪桂枝五物汤与当归四逆汤组成中均含有的药物是
下列各项,与哮喘发病密切相关的是
实现会计电算化,( )是关键。
下列各项支出中,属于资本性支出的是()。
银行业金融机构从事期货交易融资或者担保业务的资格,由()批准。
搜集客户个人信息的方法,不包括()。
多媒体的应用领域十分广阔,包括()。
下列作者与作品对应不正确的一项是()。
根据下列统计资料回答问题。2016年,某市全年实现工业增加值3884.9亿元,比上年增长5.0%。其中,规模以上工业增加值增长5.1%。在规模以上工业中,国有控股企业增加值增长6.7%;股份合作企业、外商及港澳台企业增加值分别增长9.3%和8.5
IDCardForanewstudent,theIDcardwillbemailedtohis/hermailingaddressapproximately【L5】______workingdaysafterh
最新回复
(
0
)