首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
38
问题
有如下程序:
#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/vjNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
与语句cout<<end1;不等价的是
对于类定义classA{public:virtualvoidfunc1(){}voidfunc2(){}};classB:publicA{public:
下面程序的运行结果是#include<iostream.h>classbase{protected:inta;public:base(){cout<<"0";}};
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在横线处填上适当内容,实现该函数。boolfun(char*str){inti=o,i=0;while(str[j])【】
下列关于类和对象的叙述中,错误的是
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为上【】。a[0]=1;a[1]=2;swap(a,2);
语句ofstreamf("SALARY.DAT",ios::applios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且
下列语句中不是死循环的是
下列有关继承和派生的叙述中,正确的是
下列有关C++流的叙述中,错误的是
随机试题
对于设定房地产抵押权的土地使用权是以划拨方式取得的,依法拍卖该房地产后,应当从拍卖所得的价款中缴纳相当于应缴纳的土地使用权出让金的数额后,抵押权人方可优先受偿。()
关于投标保证金,下列描述正确的是()。
喷射混凝土的1天龄期的抗压强度不应低于()MPa,钢纤维喷射混凝土的设计强度等级不应低于C20,其抗拉强度不应低于2MPa。
在风险预警的主要方法中,蓝色预警法根据风险征兆等级预报整体风险的严重程度,可分为两种模式,即()。I.模型预警法Ⅱ.指数预警法Ⅲ.统计预警法Ⅳ.概率预警法
2002年以后网络广告中市场增长最快的网络广告模式是()。
张老师积极参加学校的教学改革研究活动。经过一段时间的酝酿,他确定了“中国儿童教育发展研究”这一课题。这样的选题违背了教育研究选题的()。
遗忘的情况分为_____________、_____________、_____________、_____________。
设有如下关系表: 则下列操作中正确的是()。
有三个关系R,S和T如下:则由关系R和S得到关系T的操作是( )。
【B1】【B20】
最新回复
(
0
)