class CChar
{
private:
 int posX,posY;

public:

 void init(HWND hwnd); 

void setPosX(int x);
 int getPosX();
 };

이런 클래스를 만들어 놓고

 

class CCharManager
{

public:
 map<int,CChar*> m_UserChar;

맵을 선언한다음에

public:
 CCharManager();
 ~CCharManager();

 void Init(HWND hwnd);
 int getPosX();
 int getPosY();
};

 

이렇게 정의를 해줬습니다

CCharManager::CCharManager()
{
  m_UserChar[0]=NULL;

}
CCharManager::~CCharManager()
{
 delete[] m_UserChar[0];
}

int CCharManager::getPosX()

{

map<int,CChar*>::iterator iter;
 for(iter=m_UserChar.begin();iter!=m_UserChar.end();++iter)
 {
 if (iter->first==0)
 
 return iter->second->getPosX();
 }
 return 0;

}

이걸 제 나름대로 해석해보면

int형의 키값과 CChar포인터 형의 밸류값을 가진 iter라는 애를 선언하고

iter에 m_UserChar의 첫번째 짝?(키와 밸류)과 같게 초기화 해주고 솰라솰라 (뒷부분은 굳이 설명안해도될듯해서)

만약 iter의 키값이 0일때만

iter의 밸류값이 가리키는 getPosX()를 리턴해라 인데요

이렇게 해서 CChar의 getPosX()의 리턴값을 가지고 오려고 하거든요

제 방법 이 틀렸나요? 고치는 부분좀 알려주세요