[問題] 呼叫 private 繼承來的 public function
問題(Question):
private 繼承來的 public function 是否不能在類別外被呼叫 ?
預期的正確結果(Expected Output):
可以編譯過
錯誤結果(Wrong Output):
error: ‘void Layer::SetNode(int)’ is inaccessible
補充說明(Supplement):
void Layer::SetNode(int) 以 public 宣告在 Base Class
Derived class 為 private 繼承
想在物件之外從 Derived class 呼叫
例如: ptrDerived->SetNode(5) //is inaccessible
這樣是不合法的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.208.174
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1483174549.A.6F5.html
推
12/31 17:33, , 1F
12/31 17:33, 1F
→
12/31 17:33, , 2F
12/31 17:33, 2F
(大驚!!) 我以為 private 繼承是可以繼承最多成員,但不改變存取權限。
※ 編輯: deo2000 (106.1.208.174), 12/31/2016 17:44:47
→
12/31 18:08, , 3F
12/31 18:08, 3F
→
12/31 18:08, , 4F
12/31 18:08, 4F
→
12/31 18:09, , 5F
12/31 18:09, 5F
推
01/01 06:38, , 6F
01/01 06:38, 6F
→
01/01 06:42, , 7F
01/01 06:42, 7F
推
01/01 13:33, , 8F
01/01 13:33, 8F
→
01/01 13:33, , 9F
01/01 13:33, 9F