看板 C_and_CPP 關於我們 聯絡資訊
class WidgetImpl { private: int a,bc; }; class Widget{ Widget(const Widget& rhs){ *(pImpl) = *rhs.pImpl; // 注意此行 } private: WidgetImpl* pImpl; }; 這段程式 compiler 可以成功。 我這裡的問題是, pImpl 是的存取權限是 private, 為何 rhs.pImpl 仍然可以存取。 是因為都在 Widget 內存取的關系嗎?? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.172.111 ※ 編輯: spider391 來自: 61.216.172.111 (04/13 09:49)
VictorTom:private作用的對象是class, 不是instance:) 04/13 09:50
spider391:感謝回答 看來我長久以來觀念錯誤的利害 (淚) 04/13 09:56
VictorTom:(拍拍) 同樣的問題小弟我十年前也問過....XD 04/13 10:09
nowar100:樓上透露出年齡囉 (誤XD 04/13 13:02
dendrobium:他八歲開始寫程式 現在18歲啦(誤XD 04/13 14:19
VictorTom:還18歲勒XD 不用四捨五入也30了, 歲月不饒人啊...(遠目) 04/13 17:16