首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using narnespace std; class TestClass{ static int i; public: TestClass(){i++
有如下程序: #include using narnespace std; class TestClass{ static int i; public: TestClass(){i++
admin
2012-12-29
39
问题
有如下程序:
#include
using narnespace std;
class TestClass{
static int i;
public:
TestClass(){i++;}
~TestClass(){i.-;}
static int getVal(){return i;}
};
int TestClass::i=0;
void f(){TestClass obj2;cout<
int main(){
TestClassobj 1;
f();
TestClass*obj3=new TestClass;cout<
getVal();
delete obj3;cout<
return 0;
}
程序的输出结果是( )。
选项
A、232
B、221
C、222
D、231
答案
B
解析
由于i是类TestClass的静态成员,该成员被类的所有实例共享。当定义obj1时,系统自动调用构造函数TestClass(),i的值将加1;调用函数f()时,在定义obj2时系统会自动调用构造函数TestClass (),i的值将再加1;调用obj2.getVal();后,将i的值输出,输出值为2;当调用函数f()即将结束时,系统自动调用析构函数~TestClass(),i的值将减1;当定义obj3时,系统自动调用构造函数TestClass(),i的值将加1,调用cout<
getVal();后,将i的值输出,输出值为2;调用delete obj3后将执行TestClass的析构函数~TestClass (),执行后,i的值将减1,TestClass::getVal()为类的一个静态成员函数,其作用是返回私有静态成员变量i的值1。
转载请注明原文地址:https://jikaoti.com/ti/ucL0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设已有定义:floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是()。
有以下程序:#includemain(){inti,j,x=0;for(i=0;i
有两个关系R和T如下:则由关系R得到关系T的操作是()。
以下叙述中错误的是()。
函数fun的功能是:将一副扑克牌编号为1,2,3,…,53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交叉,并始终保持编号为l的牌在最上方,如第一次这样洗牌后的结果为:1,28,2,29,…,53,27,54。两次洗牌后的结果为:1
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。
有如下程序:#include#includemain(){printf("%d\n",strlen("0\t\nA011\1"));}程序运行后的输出结果是()。
E-R图中用来表示实体的图形是()。
在面向对象方法中,不属于“对象”基本特点的是()。
下列数据流图构造规则中正确的是()。
随机试题
平均动脉压(MAP)为:
下列辅食适于7个月小儿添加的是
杀死病毒与芽孢的最佳消毒剂为
民用建筑基地内关于何时应设置人行道的表述中,下列哪项正确?[2010-64]
保安服务公司性质是()。
关于加快转变经济发展方式的基本要求,下列说法不正确的是()。
【《雅尔塔协定》】南京大学2001年世界近现代史真题
Whenaliquidboils,itbecomesagas.
Theregistrationnumberofthecartherobbersdroveis______.
Thehousecaughtfireon____________,in1982.
最新回复
(
0
)