首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2015-07-22
21
问题
有如下程序:
#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://kaotiyun.com/show/ntNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为【】。
假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为【】。
下面关于友元函数的描述正确的是()。
下列声明语句中没有起到定义作用的是()。
开发软件时对提高开发入员工作效率至关重要的是
软件生命周期包括8个阶段。为了使各时期的任务更明确,又可分为3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于【】期。
模板函数的真正代码是在()时候产生。
下列选项中不属于软件生命周期开发阶段任务的是
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
关于关键字class和typename,下列表述正确的是
随机试题
I______breadandmilkinthemorningnow.
下列各项,不属于妊娠合并心脏病主要症状的是
一项经济业务需要连续编制多张记账凭证的,应()。
Is there any way of ensuring we’ll have enough time( )our talks?
简述当代教学方法改革与发展的基本特征。
按照《物权法》的规定,下列各项完全属于国家所有的是()。
有人说:鸦片战争是在执行一种历史使命,它是用侵略手段来达到使中国向世界开放的目的。从某种意义上说,是鸦片战争的一声炮响,给中国送来了近代文明。这一观点的错误之处在于()
Formostofhumanhistoryrichpeoplehadthemostleisure.Ontheotherhand,thepoorhavetypicallyworkedpersistently.Hans
A、1000兀B、200元C、600元D、800元C根据“我女朋友昨天买双鞋就花了800,比你的还贵200呢”这句话,可知选C。
Whatdoyouknowaboutthelecture?
最新回复
(
0
)