Re: [問題] 類別內指標指向自己
看板C_and_CPP (C/C++)作者adrianshum (Alien)時間16年前 (2009/12/10 16:30)推噓2(2推 0噓 8→)留言10則, 2人參與討論串2/2 (看更多)
※ 引述《hirabbitt (兔子)》之銘言:
: 遇到的問題: (題意請描述清楚)
: 我做了一個player的類別
: 傳入x與y要定位
: 之後想把這個物件的位置存到map[x][y]之中
: 所以一開始是這樣寫的
: player *map[][];
: player *p=new player(21,4);
: map[21][4]=p;
: 希望得到的正確結果:
: 如果可以把map[21][4]=p;寫進player類別裡
: 就不用多一行來設定map[][]了
: 程式跑出來的錯誤結果:
: 因為還不太清楚怎樣寫
: 所以沒有錯誤結果
: 硬要說的話
: 我在void player(int x,int y)之中寫了
: map[x][y]=this;
: 然後沒過XD
: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
: Dev-C++
: 謝謝
幾樣東西你要考慮.
我姑且當你那個 map 是 "地圖"
首先把地圖包裝好一個 class, 會比較容易處理.
不然你傳那個 array 又得傳 那個2D array 的
1st dimension 才行, 看起來實在很麻煩..
第二, 你設計 Player 的時候究竟傳不傳那個地
圖, 相比起是不是要 "多" 做一次位置設定, 更
重要的是你設計上 Player 是不是要 aware of
地圖. 假設你的 Player 是要面對地圖工作的
(比如你是叫 Player 向前一步, 然後 Player 自
己修改自己在地圖上的位置之類), 這麼 Player
要存著 Map 並對著它工作就很正常了.
但如果 Player 只是被操作的東西, 它根本
不需要對著 Map 工作, 只是為了省那句 code
而把 map 傳到 ctor 那就怪怪了, 我覺得你弄
一個factory method 之類去生成 player 順便
在裡面做那堆設定看起來比較合理.
一切都視乎你的設計才能決定.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
推
12/10 16:38, , 1F
12/10 16:38, 1F
→
12/10 16:39, , 2F
12/10 16:39, 2F
→
12/10 16:39, , 3F
12/10 16:39, 3F
→
12/10 16:40, , 4F
12/10 16:40, 4F
→
12/10 16:41, , 5F
12/10 16:41, 5F
→
12/10 16:42, , 6F
12/10 16:42, 6F
→
12/10 16:42, , 7F
12/10 16:42, 7F
→
12/10 16:52, , 8F
12/10 16:52, 8F
→
12/10 16:53, , 9F
12/10 16:53, 9F
推
12/10 17:03, , 10F
12/10 17:03, 10F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章