看板 Programming 關於我們 聯絡資訊
※ 引述《adrianshum (Alien)》之銘言: : 從 Child 的角度看, 根本就不會再看見 foo(int). : 如果在 child class 想 invoke foo(int) 便會出問題 : Alien class Parent { public: void foo(int a) { cout<<"parent"<<a<<endl; } }; class Child : public Parent { public: using Parent::foo; //法一 void foo(int a, int b) { cout<<"child"<<a<<" "<<b<<endl; } }; void main() { Parent p; Child c; p.foo(1); c.foo(1,2); c.foo(3); // Parent::foo is no longer shadowed c.Parent::foo(4); //法二 如上面版友所說 } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.99.126
adrianshum:真的不知道還有 法一 那招 @.@ 202.155.236.82 02/13 19:19
linjack:我是不知道有方法二 ... XD cool... 61.231.48.223 02/13 20:31
yzugsr:方法二 其實大家應該都很常在child的 123.193.35.97 02/13 22:00
yzugsr:member function裡 呼叫Parent::foo()吧 123.193.35.97 02/13 22:00
yzugsr:其實就是this->Parent::foo() 123.193.35.97 02/13 22:01
yzugsr:也很以不在member function用 XD 123.193.35.97 02/13 22:01
yzugsr:方法一是Effective C++看來的 123.193.35.97 02/13 22:01
linjack:真的是第一次知道他可以在外部這樣用 203.72.57.78 02/13 22:25
linjack:感謝 ~~ 203.72.57.78 02/13 22:26