VisualStudio.C++.C#2015. 12. 26. 16:39


 

개요.

 

 VC++ 프로젝트에 MFC CObject 를 베이스로 하는 클래스 추가하기.

예 : CyFinAPI(MFC regular DLL) 프로젝트에 CCyItem 이라는 클래스를 CObject 를 베이스로 하여 생성.


CObject 를 베이스 클래스로 하는 이유.

CObject 에서 제공하는 기능활용하기 위함. 특히 파일저장 강력한 함수인 Serialize 등 활용.


serialize 적용위한 클래스 필수 필수 요건. 

- 베이스 클래스 CObject   포함.

- 디폴트 생성자 필수 

- 클래스 선언에 DECLARE_SERIAL(클래스명) 매크로 기록. 동시에 클래스 정의파일에 IMPLEMENT_SERIAL(,,,) 기록.

- CObject 의 virtual 함수인 Serialize() 오버라이드 하고 구현.  




방법요약.

1. 프로젝트에서 클래스마법사(ctrl shift x) 에서 MFC 클래스 추가하기 하여 클래스 이름 , 파일명 지정하여 생성.


 



 

상세

 

 VC++ 프로젝트 (CyFinAPI)에서 클래스 마법사  (ctrl shift x) 실행하여 오른쪽 상단 "MFC 클래스 추가..." 선택하여 실행된 창 (아래 그림)

에서 새롭게 만들 클래스 이름 기록하고 (파박의 CCyItem) base 클래스를 CObject를 선택.

위 창에서 하고 버튼 "마침" 클릭. 하면 자동으로 클래스 코드 추가된다.

아래그림에 초기 자동 생성된 CyItem.h  를 보면 CObject 를 베이스 클래스,, virtual 소멸자 로 되어있고,

CyItem.cpp 에는 기본 include 와 생성자와 소멸자가 추가 된 상태임.





이 상태에서 아래 작업 추가.


- 클래스 선언에 DECLARE_SERIAL(클래스명) 매크로 기록. 동시에 클래스 정의파일에 IMPLEMENT_SERIAL(,,,) 기록.


- CObject 의 virtual 함수인 Serialize() 오버라이드 하고 구현.  




 



끝. - VC++ 프로젝트에 MFC CObject 파생클래스 추가하기.

예: CyFinAPI프로젝트에 CCyItem:CObject 클래스 추가.

 

 

 본 글이 포함된 상위 정리 장소.

 

 Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11

 

 


 

///522.

Posted by 리치굿맨
TAG

댓글을 달아 주세요