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

admin2020-07-30  13

问题 有如下程序:
    #inc1ude<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<<dl.getA()+d2.getA()+XA::b+d1.b<<endl;
    return 0;
    }
    运行这个程序的输出结果是(     )。

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

答案C

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

最新回复(0)