首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: 撕nclude<iostream> using namespaee std; class MyClass { pubiw,: MyClass() {++ count} ~MyClass(){--
有如下程序: 撕nclude<iostream> using namespaee std; class MyClass { pubiw,: MyClass() {++ count} ~MyClass(){--
admin
2021-05-06
75
问题
有如下程序:
撕nclude<iostream>
using namespaee std;
class MyClass {
pubiw,:
MyClass() {++ count}
~MyClass(){--count;}
static int getCount(){return count;}
private:
static int count;
};
int MyClass∷count=0;
int main()
{
MyClass obj;
cout<<obj.getCount();
MyClass * ptr=new MyClass:
cout<<MyClass∷getCount();
delete ptr;
cout<<MyClss∷getCount();
return 0;
}
执行这个程序的输出结果是( )。
选项
A、121
B、232
C、221
D、122
答案
A
解析
本题考查静态数据成员。静态数据成员在内存中只占一份空间,静态数据成员属于类。即使不定义对象,也会给静态数据成员分配空间,可以被引用。本题中先是定义了一个对象obj,执行构造函数使得静态数据成员count变为了1,然后又定义了指针对象,执行构造函数后,count变为了2,释放指针后,执行析构函数,使得count变为了1。所以本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/ZJfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列字符串中不能作为C++标识符使用的是
有3个关系R、S和T如下:则由关系R、S得到关系T的操作是()。
下列关于C++函数的说明中,正确的是()。
请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行”//ERROR*********found*********下面的一行有错误,请加以更正。更正后程序的输出为:
若MyClass为一个类,执行“MyClassa[4],*p[5];”语句时会自动调用该类构造函数的次数是()。
在函数中,可以用auto、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
有如下程序:#include<iostream>usingnamespacestd;classToy{public:Toy(char*_n){strcpy(name,_n);count++;}
在软件开发中,需求分析阶段产生的主要文档是()。
已知表达式++a中的’’++"是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为()。
在类中重载赋值运算符时,应将其声明为类的()。
随机试题
A.瑞格列奈B.格列本脲C.罗格列酮D.二甲双胍E.阿卡波糖属于非磺酰脲类促胰岛素分泌药的是
心理应激概念的核心是
位于非洲的A国和B国爆发战争,C国宣布战时中立,C国作为战时中立的国家,下列哪些选项是它的权利或义务?
从产品需求者角度进行的质量控制,是指()的质量控制。
债券质押式回购交易的申报操作类似于()
马克思在《不列颠在印度的统治》一文中指出:“英国在印度斯坦造成社会革命完全是受极卑鄙的利益所驱使,而且谋取这些利益的方式也很愚蠢。……英国不管干了多少罪行,它造成这个革命毕竟是充当了历史的不自觉的工具。”对这段话的理解不准确的是()
设有主存-Cache层次的存储器,其主存容量1MB,Cache容量16KB,每字块有8个字,每字32位,采用直接地址映像方式。若主存地址为35301H,且CPU访问Cache命中,则该主存块在Cache的第()字块中(Cache起始字块为第0字块)
在错误记忆的实验中先呈现由两个单音节词组成的合成词(如handstand,shotgun)给被试学习。在随后的再认测验中,呈现词混合了先前所学单词、有一个音节与所学单词相同的词(如handmaid)、两个音节都与所学单词相同的词(如handgun)以及与所
有以下程序#include#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf(“%d\n”,S(k+j));}程序运行后的输出结果是
A、 B、 C、 B
最新回复
(
0
)