[問題] overriding 遮蔽 overloading 的原因?
class B {
void f () ;
void f (int) ;
} ;
class D : B {
void f (int) ;
} ;
main () {
D d ;
d.f () ; // error
}
error 的原因是找不到函數,
我想問的不是原因,我知道是被遮蔽了,
我想問的是:為什麼 C++ 要這樣設計?
為什麼當 override 一個函數的時候,
要遮蔽所有同名的其他版本?
今天同事問我,我還真想不到 @"@
先感謝。
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.105.56
推
03/10 21:19, , 1F
03/10 21:19, 1F
→
03/10 21:19, , 2F
03/10 21:19, 2F
→
03/10 21:21, , 3F
03/10 21:21, 3F
→
03/10 21:22, , 4F
03/10 21:22, 4F
→
03/10 21:23, , 5F
03/10 21:23, 5F
→
03/10 21:28, , 6F
03/10 21:28, 6F
→
03/10 22:01, , 7F
03/10 22:01, 7F
→
03/12 23:06, , 8F
03/12 23:06, 8F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章