wahahahf 2013-11-02 14:01 采纳率: 0%
浏览 1824

为什么第一个输出是a:1????

#include "StdAfx.h"
#include
#include

using namespace std;
class A{
public:
int a;
A(){ a = 1;}
void printA(){
cout << "a:" << a << endl;
}
};

class B: public A{
public:
int a;
B(){a =2;}
};

int main()
{
B b;
b.printA();
cout << b.a << endl;
return 0;
}

  • 写回答

1条回答 默认 最新

  • 罗密华 2013-11-03 13:37
    关注

    这是因为classA有自己默认的值,当调用b.printA()时,此时a的值已经为1,接着输出a:1.

    评论

报告相同问题?