vc++ express 2010 , DXライブラリで制作しています。
class Character{
public:
typedef struct{
int x;
int y;
}Pos;
void update();
Pos getPosition(){ return mPos };
private:
Pos mPos;
};
生成した3つのクラスがそれぞれ他のmPosの情報を得るにはどのように実装すれば良いのでしょうか?
class Character{
public:
typedef struct{
int x;
int y;
}Pos;
void update();
Pos getPosition(){ return mPos };
private:
Pos mPos;
};
これは当たり前のように思えます。あるインスタンスのメソッドを呼び出したら他のインスタンスのメソッドまで(意図せず)呼び出せてしまう、というのは逆に考えるととても怖いことです。鬼丸飯店 さんが書きました:mCharacter[0]がupdate内でgetPosition()を行なっても得られるのはmCharacter[0]のmPosの値でした。
Character::Pos pos0 = mCharacter[0].getPosition();
Character::Pos pos1 = mCharacter[1].getPosition();
Character::Pos pos2 = mCharacter[2].getPosition();