首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2021-05-06
16
问题
有如下程序:
#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/EPfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于模板的表述中,错误的是
下列关于类模板的叙述中,正确的是()。
有如下程序:#includeusingnamespaeestd;classMyClass{public:MyClass(inti=0){cout
有如下程序:#include<iostream>usingnamespacestd;classBase{public:Base(intx=0){cout<<x;}};classDerived:publicBase{public:
关于在调用模板函数时模板实参的使用,下列表述中正确的是()。
有如下程序:#includeusingnamespacestd;classAppliance{public:Appliance(){cout
请编写一个函数intfun(int*s,intt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指向的存储单元中。例如,输入如下整数:876675896101301401980431451777则输出
在表达式x+y*z中,+是作为成员函数重载的运算符,木是作为非成员函数重载的运算符。下列叙述中正确的是()。
数据库系统的核心是()。
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。
随机试题
京师同文馆是最早采用班级授课制的中国学校,距今已有()年。
从延髓脑桥沟出入的脑神经,自内向外分别为【】
转录过程中需要的酶是
A.血管内溶血B.血管外溶血C.原位溶血D.血管内、外溶血E.脾功能亢进阵发性睡眠性血红蛋白尿症是
在利用回归模型进行预测时,需要对回归系数、回归方程进行检验,以判定预测模型的合理性和适用性。检验方法有方差分析、相关检验、t检验等。以下说法正确的是______。
在下列各项中,不构成短期投资成本的是()。
股利无关论是建立在完全市场理论之上的,假定条件包括()。
最高人民检察院对()负责。
图例:根据图例和数字表回答下列各题:数字表中第4行第8列对应的符号是()。
认为顿悟情境中的关系是产生迁移的根本的迁移理论是()。
最新回复
(
0
)