請幫我找到它背後的原因:默認參數
#include <iostream>
using std::cout;
class A {
public:
virtual void fun(int a = 5) { cout<<a; }
};
class B::public A {
public:
void fun(int a = 10) {
cout<<"Inside A::B::fun().\n";
cout<<"\n"<<a;
}
};
int _tmain(int argc, _TCHAR* argv[]) {
A *obj = new B();
obj->fun();
reutrn 0;
}
Althought它調用B ::樂趣(),還是打印5,爲什麼以及如何工作的?
你使用MSVC嗎? –
是@Mark,我正在使用MS VC++ 2010 Express – null