Re: [問題] 想請問有關C++ class 中的private問題

看板C_and_CPP (C/C++)作者 (我要加入劍道社!)時間16年前 (2009/06/05 11:28), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《hnaxiorll (fairyland)》之銘言: : 我想問的是在class中明明變數a,b是宣告成private : 但是在自己的class函式中宣告相同的型態,C卻能直接取出來用!? : 這樣不會違反class中private的隱藏性嗎?? : 請大家幫忙解除我這個疑惑 謝謝各位 m( ̄︶ ̄)m 其實設計成這樣的理由很簡單 想像一下你要寫 copy assignment 的時候 Foo& Foo::operator=(const Foo& f) { // copy all members in Foo ... } 如果你只能存取 this 底下的 private 成員,卻不能取得 f 的 private 成員 顯然你無法複製 f 的所有成員 因此你根本無法寫 copy assignment 除了 copy assignment 以外,其它的函式其實也會有類似的情況 因此讓成員函式存取其它同類別物件的 private 成員是必要的 而且成員函式也有責任讓所有同類別物件的內容保持正確而一致 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.151.2

06/06 20:24, , 1F
感謝解答\( ̄▽ ̄)/
06/06 20:24, 1F
文章代碼(AID): #1AA93oHu (C_and_CPP)
文章代碼(AID): #1AA93oHu (C_and_CPP)