[問題] base class傳給derived class function

看板C_and_CPP作者 (Ar藤)時間9年前 (2015/01/29 01:09), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
有二個問題請教 一、 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

01/29 01:57, , 1F
1.第一個想到 decorater 2.private inheritance 找不到
01/29 01:57, 1F

01/29 02:08, , 2F
外面看的 A,而是 B 繼承的 A。但是對於 B 以下的都不
01/29 02:08, 2F

01/29 02:09, , 3F
可存取。 void foo(::A const &a); 就可以了。
01/29 02:09, 3F

01/29 02:13, , 4F
sorry, decorator 不應該是 private inheritance...
01/29 02:13, 4F

01/30 22:18, , 5F
感謝
01/30 22:18, 5F
文章代碼(AID): #1KoHVWR_ (C_and_CPP)