看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 各位好,小弟初學C++ 有一個問題不知道該用怎樣的關鍵字去找到解答,所以到板上一問。 我今天有一個物件,裡面有一些讀值、處理的功能 我希望能夠在物件產生的時候讀值一次就好 但是當我離開宣告物件產生的函式 我要怎樣寫才可以在其他函式中直接得到我在main當中產生的物件 利用之前讀值的結果作處理,而不用再宣告一次物件多讀值一次 底下是程式大綱 class A { }; //某種物件 class B //做處理的class { private: vector<A> A[100]; // A的array public: void Analysis_data() { } int Get_value() {} }; Get_value是要在Analysis_data之後才有意義 但我希望只要在main呼叫一次就好 那在程式某個深處我該如何Get_value -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.155.216
shadow0326:refference 11/15 17:06
aixdgxu:除了reference還有其他方式嗎? 因為要呼叫這個物件的地方 11/15 17:07
aixdgxu:離main很遠很遠...大概有5層以上 11/15 17:08
aixdgxu:還是就要把讀值跟處理分開,處理時在reference讀值結果 11/15 17:09
aixdgxu:那讀值的結果又要怎樣操作才會讓他存在記憶體中 11/15 17:11
aixdgxu:呃...想了想又有些想法...是要用繼承嗎? 11/15 17:13
tropical72:可舉實際一點的例子嗎? 11/15 17:15
※ 編輯: aixdgxu 來自: 140.115.155.216 (11/15 17:23)
tropical72:在B 放 bool is_get_value; bool IsGetValue();如何 ? 11/15 17:26
aixdgxu:嗯...不好意思可以說明白一點嗎 XD 11/15 17:30
aleelyle:singleton & factory 11/15 17:32
aixdgxu:感謝樓上 那直接用global對物件可行嗎 11/15 17:39
x000032001:用global那你還寫物件導向幹嘛= =" 11/15 17:40
x000032001:要不要再回顧一下程式架構 總覺得...怪怪的 11/15 17:42
aixdgxu:其實是第一次寫...很多觀念都還不知道 11/15 17:45
shadow0326:最陽春的方法就是用一個大的class包裝程式所有內容, 11/15 17:50
shadow0326:main裡面只create這個大class然後呼叫它的member func 11/15 17:51
shadow0326:來代表程式開始執行,class B寫成這大class的member即可 11/15 17:51
legnaleurc:Singleton 就是他 X 的 global 物件啊 ... 11/16 02:23