首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
34
问题
有如下程序:
#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全国计算机二级
相关试题推荐
对定义重载函数的下列要求中,()是错误的。
在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()。
下面关于构造函数和析构函数的描述,错误的是()。
下列关于多继承二义性的描述中,错误的是()。
在数据库模型中,通常把网状模型和()称为非关系模型。
下列叙述中正确的是
在C++语言中,访问一个对象的成员所用的运算符是【】,访问一个指针所指向的对象的成员所用的运算符是【】。
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做
下列关于this指针的叙述中,正确的是
有如下类声明:classMyClass{inti;private:intj;protected:intk;public:intm,n;};
随机试题
______fromthehilltop,thelakesceneryisbeyonddescription.
氨曲南属于
男性,28岁。腹痛、脓血便8天,关节肿痛3天。体检:两眼球结膜充血,左膝关节肿,浮髌试验(+),两足底皮肤红斑,散在黄棕色水疱、血痂、溃疡,尿白细胞4~5个/HP。可能诊断为
下列哪项心跳骤停紧急处理原则是错误的
男,65岁。排便习惯改变、腹胀、乏力、消瘦2个月,直肠指诊(一),粪便隐血阳性。为明确诊断最适宜的检查是()
根据商标法及相关规定,下列哪些说法是正确的?
热传导的各种方式中,热辐射是以()形式传递热量的。
心理测量误差的类型与来源各有哪些?
以下不能用形状控件画出的图形是
Thepicturesquesceneryofhishometownhasoften______himtowritepoems.
最新回复
(
0
)