看板 C_and_CPP 關於我們 聯絡資訊
由於小弟最近在寫C++碰到一個令我覺得詭異的問題 class text{ public: text(); void TEXT(); private: int a; int b; }; void text::TEXT() { text C; C.a = 20; C.b = 5; cout<< C.a << " " << C.b <<endl; } 我想問的是在class中明明變數a,b是宣告成private 但是在自己的class函式中宣告相同的型態,C卻能直接取出來用!? 這樣不會違反class中private的隱藏性嗎?? 請大家幫忙解除我這個疑惑 謝謝各位 m( ̄︶ ̄)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.131.73 ※ 編輯: hnaxiorll 來自: 61.227.131.73 (06/04 20:57)
Ebergies:都你自己的 class 了... 是要隱藏什麼... @@ 06/04 20:57
chrisdar: +1 06/04 20:57
eu7908:在同個class中是可以用的 06/04 21:00
foreverangle:class自己的函式裡面可以用...其他地方才是看不到... 06/04 21:06
iamivers0n:大家都自己人 06/04 21:31
VictorTom:其實小弟我剛學C++的時候也有過同樣的疑問XD 06/04 22:00
hnaxiorll:所以自己class的函式中 可以直接存取自己型態宣告的變數 06/04 22:02
hnaxiorll:private值 06/04 22:02
Ebergies:class 是定義 classes 之間的關係, 而非 instances 06/05 09:50
zlw:樓上的解釋講得很好 06/05 19:34