作者Arton0306 (Ar藤)
看板C_and_CPP
標題[問題] base class傳給derived class function
時間Thu Jan 29 01:09:50 2015
有二個問題請教
一、
class D:B
{
void foo(B const &b);
}
像上面這樣D有個interface需要吃自己的base class
什麼情況需要(適合)這樣子的設計?
二、
class A {};
class B:A {};
class C:B
{
void foo(A const &a);
}
compiler會報錯,是說private繼承只能看到上一(only one)層的class嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.10.147
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1422464992.A.6FF.html
→ carylorrk: 1.第一個想到 decorater 2.private inheritance 找不到 01/29 01:57
→ carylorrk: 外面看的 A,而是 B 繼承的 A。但是對於 B 以下的都不 01/29 02:08
→ carylorrk: 可存取。 void foo(::A const &a); 就可以了。 01/29 02:09
→ carylorrk: sorry, decorator 不應該是 private inheritance... 01/29 02:13
→ Arton0306: 感謝 01/30 22:18