首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
21
问题
有如下程序:
#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全国计算机二级
相关试题推荐
下列不是描述类的成员函数的是
下面程序的运行结果为#include<iostream.h>classA{staticintn;public:A(){n=1;}A(intnum){n=
下列程序的运行结果为#include<iostream.h>voidmain(){inta=2;intb=a+l;cout<<a/b<<end1;
设有定义inta=1;floatf=1.2;charc=’a’;,则下列表示错误的是
请将下列类定义补充完整。classBase{public:voidfun(){cout<<"Base::fun"<<end;}};classDerived:publicBase{public:void
有如下程序: #include<iostream> using namespace std; class A { public: A(){cout<<"A";} }; class B<public:
下列关于类和对象的叙述中,错误的是
下面是复数类complex的定义,其中作为友元函数重载的运算符“--”的功能是将参数对象的实部减1,然后返回对该对象的引用。请补充完整。classcomplex{private:intreal;int
重载输入流运算符>>必须使用的原型为
下列有关数据库的描述,正确的是
随机试题
基于数据和信息的分析和评价的决策属于施工企业质量管理体系管理原则中的()。
关于梅克尔憩室错误的是
A.合欢皮B.酸枣仁C.远志D.琥珀E.磁石既能活血散瘀,又能镇惊安神的药物是
属于分项工程质量检验评定内容的有()。
按完工产品和在产品的数量比例,将直接材料费用在完工产品和月末产品之间分配,应具备的条件是()。
在面试中,最为忌讳的是先人为主,提问带有面试者本人的倾向,下面的提问中,没有这种倾向的是()。
集合A={x|(x-1)(x+2)<0),集合B={x|lgx≤0),则A∩B=()。
课程开发应该包括教育目标的确立、学习经验的选择、学习经验的组织、学习结果的评价等环节。该论述对应的课程编制模式是()。
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号)、课程C(课号,课名)、选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。
Advertisingmedialikedirectmail,radio,televisionandnewspapers______toincreasethesalesofindustrialproducts.
最新回复
(
0
)