首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class TestClass{ static int i; public: TestClass(){i++;} ~TestClass(){i--;} stati
有如下程序: #include<iostream> using namespace std; class TestClass{ static int i; public: TestClass(){i++;} ~TestClass(){i--;} stati
admin
2019-03-05
44
问题
有如下程序:
#include<iostream>
using namespace 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<<obj2.getVal();}
int main(){
TestClass obj1;
f();
TestClass * obj3=new TestClass;cout<<obj3->getVal();
delete obj3;cout<<TestClass::getVal();
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<<obj3->getVal();后,将i的值输出,输出值为2;调用delete obj3后将执行TestClass的析构函数~TestClass(),执行后,i的值将减1,TestClass::getVal()为类的一个静态成员函数,其作用是返回私有静态成员变量,i的值1。
转载请注明原文地址:https://www.kaotiyun.com/show/RvAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
下列程序的输出结果是______。#include<iostream.h)template<classT>Tmax(Tx[],intn){inti;Tmaxv=x[0];for(i=1;i(n;i
在长为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为
数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
已知类X成功地重载了--、+、=、[]这几个运算符。则其中肯定属于成员函数的运算符是:
面向对象的程序设计主要考虑的是提高软件的
下列字符串中可以用做C++语言标识符的是
已知一棵二叉树的先根序列为ABCDEFK,中根序列为DGBAFCK,则结点的后根序列为()
在关系数据库中,用来表示实体之间联系的是______
E-R图中用矩形表示实体(等同于表),用椭圆形表示实体的属性(等同于表中的字段),用菱形表示实体关系(等同于外键)。
随机试题
有关外毒素的说法,下列错误的是
男,36岁,与家人争吵1小时后被人发现昏迷,查体体温36.5℃,血压120/80mmHg,四肢厥冷、腱反射消失,心电图示一度房室传导阻滞,血液的COHb为60%。目前首要的治疗方法是
X线管内高速电子的动能取决于
以上哪项不是槟榔的适应证()使君子能够治疗的病证是()
诉讼代理人是代理当事人进行民事诉讼活动的人,下列能够作为诉讼代理人的包括()。
挖掘型耙头适用于挖掘()等土质。
下列各选项中,属于项目质量计划应确定内容的是()。
简述银行在国民经济中的地位。
7,23,55,109,191,()
设函数ψ(y)具有连续导数,在围绕原点的任意分段光滑简单闭
最新回复
(
0
)