首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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-06-27
46
问题
有如下程序:
#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/5RNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序段的输出结果是______。charch[3][5]={“xxxx”,“yy”,“zz”}:cout<<ch[1];
以下程序的输出结果是【】。#include<iostream.h>intadd(intx,inty){retumX+y;}dOubleadd(dOUblex,doubley){
若有以下程序:#include<iostream>usingnamespacestd;classdata{public:intx;data(intx){da
C++语言中while循环和do-while循环的主要区别是()。
在C++中,数据封装要解决的问题是()。
数据库逻辑设计阶段分为______。
下列叙述中正确的是()。
关于类模板,下列表述中不正确的是()。
C++流中重载的运算符“>>”是一个()。
随机试题
企业会计制度总体设计的作用是()
心迷走神经释放的递质是【】
根据《产品质量法》的相关规定,下列关于产品责任制度的理解中,正确的有:
用于灭火控火目的时,水雾喷头的工作压力不应小于()。
进口口岸()件数()
鞠躬尽瘁:殚精竭虑
一般说来,用户可以通过两类接口请求操作系统的服务,一类是作业一级的接口(如命令语言、JCL等);另一类是编程接口,即提供一组(23),供实用程序、应用程序与用户程序等请求操作系统的服务。
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示学生学号的类CStudentID,但类CStudentID的定义并不完整。运行结果为:学生的学号为:200805学生名为:李伟删除学生学号为:200805
Internet最初创建时的应用领域是()。
A、Hedoesn’twantotherstoliveinhishouse.B、Hedoesn’tcareaboutthelittlerent.C、Hewantstosellthehouseatahigher
最新回复
(
0
)