作者rangerssohot ()
看板C_and_CPP
標題[問題] 如何在兩個class中共用一個物件
時間Fri Jun 7 23:37:35 2019
開發平台(Platform): (Ex: Win10, Linux, ...)
目前在Ubuntu上使用Qt
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
目前我正在寫一個小精靈的遊戲,其中有小精靈和鬼兩個class(Pacman和Ghost)
在鬼的class裡面,鬼要怎麼走需要參考小精靈現在的位置(去追小精靈)
我現在在主程式MainWindow.cpp中new出小精靈和鬼,除了在視窗中顯示出物件,
用鍵盤改變小精靈的方向和位置時也是用MainWindow的小精靈指到Pacman去做
為了在Ghost中也能使用到小精靈的位置,我在Ghost裡也new了一個小精靈
但我想應該是因為兩個小精靈不是同一個的關係,
現在Ghost裡得到的小精靈的位置都是遊戲初始給的位置
不會隨著遊戲中位置改變而跟著改變座標的值
請問有沒有什麼方法可以讓Ghost.cpp和MainWindow.cpp共用一個小精靈的object?
麻煩大家幫忙了orz
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
https://reurl.cc/mQ0KM
上面這個連結是我在stackoverflow的發問
有附上部分比較重要的code
但是因為是第一次發問寫不夠清楚又不懂規定
目前被put on hold...(現在的問題內容有修改過)
另外我在那邊問的是如何取得其他class中的變數
因為我一開始以為單純是座標的值沒辦法傳到Ghost.cpp裡
但是看完下面那個回覆,我想應該是兩個class使用不同個小精靈的關係
指示還是不知道確切應該怎麼做@@
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.164.14.21 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1559921857.A.7CB.html
→ thefattiger: 我覺得你最好把基本的語法先弄懂再來搞這些06/07 23:48
→ thefattiger: 小精靈是唯一的話最簡單的方法就是Sigleton Pattern06/07 23:50
因為我是跟同學一起去修資工的課 現在這個是期末project 雖然知道自己基礎不好 但是
東拼西湊的也要把它弄出來@@
→ CCWck: 你會寫一個有argument的函數嗎?把物件或是從物件得到的參06/08 00:36
→ CCWck: 數放進去就好06/08 00:36
好的我試試看
※ 編輯: rangerssohot (223.139.113.187 臺灣), 06/08/2019 01:48:39
推 RishYang: class跟object要分清楚,object是class的實例 06/08 05:42
→ RishYang: 意思是class是設計圖,object是依據設計圖造出的成品 06/08 05:43
→ RishYang: 根據一張設計圖,你可以造出n個看起來一模一樣的成品 06/08 05:47
→ RishYang: 但是那些成品都是獨立的,個別成品都獨立佔有特定的時空 06/08 05:50
推 mmmmei: 可以用connect,當小精靈位置變化的時候,傳參數給每個鬼 06/08 11:55
→ firejox: 你只要初始化的時候把小精靈傳鬼給就好了吧 06/08 13:10
推 CarbonK: 成大資訊系程設(二)齁 06/09 22:56
推 HMKRL: 樓上助教 06/10 11:57
推 CarbonK: 樓上也助教 06/10 13:27