有如下程序: #include<iostream> using namespace std; class XA{ int a; public: static int b; XA(int aa):a(aa){b++;} int getA(){return a

admin2019-06-12  35

问题 有如下程序:
#include<iostream>
using namespace std;
class XA{
int a;
public:
static int b;
XA(int aa):a(aa){b++;}
int getA(){return a;}
};
int XA::b=0;
int main(){
XA d1(4),d2(5);
cout<<d1.getA()+d2.getA()+XA::b+d1.b<<endl;
return O;
}
运行这个程序的输出结果是(    )。

选项 A、9
B、11
C、13
D、15

答案C

解析 在类XA的构造函数中,定义了用成员变量a的值初始化变量髓,同时静态成员变量b值加1。所以当在主main函数中定义类XA的对象d1(4)后,变量b的等于1,定义对象d2(5)后,变量b的值等于2,所以表达式d1.getA()+d.2.getA()+XA::b+d1.b等于4+5+1+2+1=13。
转载请注明原文地址:https://kaotiyun.com/show/tT8p777K
0

最新回复(0)