Problem unsolved
下段代码的输出结果是?
#include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; class A { public: int _a; A() { _a=1; } void print() { cout<<_a<<endl; } }; class B:public A { public: int _a; B() { _a=2; } }; int _tmain(int argc, _TCHAR* argv[]) { B b; b.print(); cout<<b._a<<endl; } 运行结果:
1
2
救命啊~~真的不能理解啊~~到底为啥呢~~B的_a没有把A的_a覆盖掉吗?
为什么既有1又有2?
先在此做个记号~~