首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: static int a; void init() { a = 10; } A(int a = 5) { init
有如下程序: #include using namespace std; class A { public: static int a; void init() { a = 10; } A(int a = 5) { init
admin
2021-05-06
20
问题
有如下程序:
#include
using namespace std;
class A {
public:
static int a;
void init() { a = 10; }
A(int a = 5) { init(); a+=10; }
};
int A::a = 0;
A obj;
int main()
{
cout << obj.a;
return 0;
}
运行时输出的结果是
选项
A、0
B、5
C、15
D、10
答案
D
解析
静态数据成员独立于任何对象而存在,不是类对象的组成部分,普通成员函数可以引用静态数据成员。程序定义了类A,并在A的定义体外初始化A的静态数据成员a=0,构造函数A(int)中的形参a与A::a属于不同的变量,在函数A(int)中,形参a屏蔽了A::a,所以A(int)中引用的变量a是形参,而不是A::a,对a的任何操作都不影响A::a,而成员函数init中引用的是A::a,语句a=10是将A::a赋值为10,所以输出obj.a其实是输出A::a,结果为10;答案为D。
转载请注明原文地址:https://www.kaotiyun.com/show/EPfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有下列程序:#includevoidmain(){inta1,a2charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d%c%d%c",a1
有如下程序:#include<iostream>usingnamespacestd;classTestClass{staticinti;public:TestClass(){i++;}~TestClass(){i--;}stati
有如下类声明:classTe{public:Te();//①Tete;//②Te*
下述关于数据库系统的叙述中,正确的是()。
在下列关键字中,不能用来表示继承方式的是
有如下类定义classMyclasspublic:Private:intdata;};若要为Myclass类重载流输入运算符>>,使得程序中可以“cin>>obj;”形式输入Myclass类的
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
下列有关C++流的叙述中,错误的是()。
已知表达式++a中的’’++"是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为()。
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
随机试题
转录起点在基因碱基序列中的编号为
货物的使用成本中不包括()。
在投资项目管理过程中,对项目进行全面管理的主体是()。
商业银行是现有金融中介机构中资产规模最大且()的。
企业接受非现金资产捐赠时,该资产入账价值应按会计制度规定的入账价值扣除应交纳的所得税后的余额确认。( )
(2016·河南)数学学习中形成的认真审题的态度及审题的方法会影响到化学、物理等学习的审题态度和方法。这种学习的迁移叫作()(常考)
( )是指人民警察应具备的政治思想、业务能力、文化水平、心理特征、身体状况诸方面条件的总和。
莎士比亚是欧洲文艺复兴时期的巨人,下列关于其作品说法正确的是()。
一副扑克牌除大小王之外有52张,从中取三张,使得三张点数之和为26,且第三张点数不小于前两张点数之和。若A=1点,B=2点,……,J=11点,Q=12点,K=13点,点数相同花色不同为不同取法,那么共有多少种不同取法?
对偶比较法通常用来制作()。[统考2017]
最新回复
(
0
)