-
맵 클래스와..MFC 전역함수쥬신게임아카데미/MFC 2012. 12. 13. 21:48
맵 클래스
맵은 데이터를 저장할때 키를 이용하여 저장위치를 결정하는 자료구조임.
키 값자체는 데이터 저장 위치가 아니므로 이값을 이용하여 일정한 계산을 한 후 저장 위치를 결정하는 함수가 필요한데..
이를 해시함수라 한다.?
맵을 생성 및 초기화후 검색하는 과정은 다음과 같음.
1.맵객체를 생성
2. []연산자를 이용하여 초기화 이때 맵 객체[키] = 데이터 형식사용
3. 맵 객체.Lookup(검색키, 데이터를 저장할 변수) 형식으로 사용
CMapStringToSTring map;
map["사과"]="Apple";
CString str;
if(map.Lookup("딸기",str))
cout << "딸기 -> " << (LPCTSTR)str << endl;
Tip#1
이미 사용되는 곳에 영향을 주지않고 인자를 추가할 수 있는 방법이 디폴트 인자를 사용하는 것.
class MyClass
{
int MyFunc(int iPos);.
.
};
int i = myclass.MyFunc(3); //멤버함수 사용
그러나..
int MyFunc(int iPos, char *pszName=NULL); //수정함
}
int i = myclass.MyFunc(3);int ij = myclass.MyFunc(3, "Test"); // 새인자 사용 영향을 안줌..
CObject 클래스
MFC의 최상위 클래스임..
다음과 같이 사용자 정의 클래스도 직접 혹은 간접적으로 상속받으면 동일하게 사용..
class CMyClass : public CObject
{
..}
MFC 전역함수
AfxMessageBox()함수
CWnd::MessageBox()함수와 기능은 비슷하지만 afx함수는 프로그램의 어느 위치에서나 사용이 가능함.
AfxGetApp()함수의 리턴값은 전역 응용 프로그램 객체인 주소값과 같다
AfxGetMainWnd()함수의 리턴값은 메인 윈도우 객체의 주소값과 같다.
m_pMainWnd
AfxGetInstanceHandle() 함수의 리턴은 WinMain()함수의 첫번째 인자인 hInstance값과 동일함.
'쥬신게임아카데미 > MFC' 카테고리의 다른 글
AppWizard 분석 (0) 2012.12.13 MFC 기초 / 집합 클래스 (0) 2012.12.12