[問題] base class傳給derived class function

作者: Arton0306 (Ar藤)   2015-01-29 01:09:50
有二個問題請教
一、
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嗎
作者: carylorrk (carylorrk)   2015-01-29 01:57:00
1.第一個想到 decorater 2.private inheritance 找不到外面看的 A,而是 B 繼承的 A。但是對於 B 以下的都不可存取。 void foo(::A const &a); 就可以了。sorry, decorator 不應該是 private inheritance...
作者: Arton0306 (Ar藤)   2015-01-30 22:18:00
感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com