[問題] 繼承與friend

看板C_and_CPP作者 (小夜子)時間12年前 (2012/05/14 22:48), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): 現在有四個class class A{ friend C; private: int n1; } class B:public A{ friend D; public: int n2; } class C{ A *a; } class D:public C{ } 翻成白話文就是 A/C為父類別 B/D為其子類別 C/D可以私用A/B的東西 我問題出在於class C裡面只有class A一個member 但是我的class D裡面想存取A的private 還有C的public 請問有沒有辦法再建構D的時候偷偷把C裡面的A轉成他的小孩B呢? 如果有的話建構子要怎麼改? 我找了好久都找不到QQ 補充說明(Supplement): 實作就是原本A/C指的是BST的Node 與 BSTtree BSTtree裡只有root的pointer 現在想擴充變成可以search by rank B/D指的是rNode 與 rBSTtree (rNode多存一個左子樹的member數 rBSTtree多存一個總node數) 但是我在建構rBSTtree的時候 root的型別還是Node而非 rNode 有沒有辦法在建構的時候就把root的型別換成rNode ? 謝謝指教> < -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.74.38 ※ 編輯: vein828 來自: 140.114.74.38 (05/14 22:51)

05/15 03:44, , 1F
可以共同繼承一個 abstract node 跟 tree
05/15 03:44, 1F
文章代碼(AID): #1FiHidGX (C_and_CPP)