[英]Is it bad practice to reference class member object from within another member of the same class?
[英]Accessing member objects from another member object within the same class
假設我有以下C ++代碼:
class Circuit {
public:
Properties circuit_prop;
Library tech_libray;
InstanceList instances;
}
Properties
, Library
和InstanceList
是我的代碼中定義的類。 例如, InstanceList
類具有一個名為build
的成員函數。 是否可以在不將其作為build
參數傳遞的情況下訪問成員對象circuit_prop
或tech_library
? 解決這個問題的最佳方法是什么?
不,這是不可能的,因為InstanceList
可能也存在於Circuit
之外。
如果您有一個需要訪問各種成員的方法,則應進入具有那些成員的類(在您的情況下為Circuit
。
另外, InstanceList
需要知道它所屬的Circuit
,在這種情況下,它可以通過Circuit
的公共接口訪問成員。
僅僅因為類是同一類的關聯成員,並不意味着它們可以自由訪問彼此的成員對象。 我想說做circuit_prop
和tech_library
成員InstanceList
會比讓他們在同一類的所有成員更好。 這樣,您可以讓Circuit
從set
自由get
設置,或者通過將Circuit
成為InstanceList
的friend class
來自由訪問它們
circuit_prop或tech_library范圍僅在Circuit類中,最好在Circuit內部創建一個方法,該方法具有單獨類所需的所有公共訪問權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.