首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
36
问题
有如下程序:
#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/ntNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中正确的是()。
以下程序的输出结果是______。#include<iostream.h>voidmain(){charw[][10]={"ABC","DEFGH","IJKL","MNOP"};int
下面函数返回数组中最大元素的下标,数组中元素个数为t,将程序补充完整。intfindmax(ints[],intt){intk,p;for(p=0,k=p;p<t;p++){if
以/*开始,*/结束,在/*和*/之间的部分即为【】。
在C++语言中,访问一个对象的成员所用的运算符是【】,访问一个指针所指向的对象的成员所用的运算符是【】。
下列有关数据库的描述,正确的是
有一种只在循环语句或switch语句中使用的流程控制语句,表示该语句的关键字是【 】。
关于在调用模板函数时模板实参的使用,下列表述正确的是
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
以下都是C++语言标识符的是
随机试题
痰火扰神的主要症状有
慢性胃窦胃炎的临床表现为
肠结核的好发部位是
涎石病的临床特点
测定蛋白样品中某种分子量的蛋白选用最佳的方法是
对于钢筋力学性能检验时,同一牌号、同一炉罐号、同一规格、同一等级、同一交货状态的钢筋,每批不大于()t。
心理活动表现在强度、速度、稳定性和灵活性等方面动力性质的心理特征叫()
社会主义初级阶段的起点是()。
What’sthelengthofthebridgeacrosstheMavudayerRiver?
Labelthemapbelow.Writethecorrectletter,A-E,nexttoquestions11-15.CarPark
最新回复
(
0
)