Re: [問題] 想請問有關C++ class 中的private問題
看板C_and_CPP (C/C++)作者littleshan (我要加入劍道社!)時間16年前 (2009/06/05 11:28)推噓1(1推 0噓 0→)留言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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
12
21