我試圖找出最合理,最安全,最有效的方式來完成此操作,而不使用全局變量。如何在沒有全局變量的情況下共享此數據
假設我有一個類:
class SomeClass{
public: someFunction(){...}
};
而另一個類實例化SomeClass
的數據成員:
class AnotherClass{
SomeClass theTest;
void anotherFunction(){...}
int myDataInt;
};
現在,我想在SomeClass
的someFunction
,以便能夠方便地訪問myDataInt
在AnotherClass
。一種方法是將int
參數添加到someFunction
,即AnotherClass
通過。也許這是唯一可行的方法。但我希望在someFunction
和myDataInt
之間有更多的「自動」訪問。另一種選擇是簡單地在SomeClass
中設置AnotherClass
的設置數據,它等於它自己的myDataInt
。但是,我有兩個類存儲相同的數據,這似乎是多餘的。
其他建議?非常感激。
怎麼樣'類AnotherClass {朋友類SomeClass的; ...};'。其他方法是讓'getter()/ setter()'爲'myDataInt',任何人都可以相應地使用它。 – iammilind
你的例子很有意思,因此毫無意義。沒有什麼神奇的方法可以讓一個外部變量自動地被一個方法使用,而不需要傳入。真正的問題是,爲什麼一個類需要如此密切地瞭解另一個類的數據? – meagar
感謝@iammilind「朋友」的想法是合理的,我不會考慮這一點。 – johnbakers