http://msnmarketing.co.kr/msn_live/index.asp?authkey=MSN040913434112721175987512

iiasuraii.byus.net

Skip to content

Menu

Choice : Use stylesheet or not
This document use xhtml with css

Member menu


No. 136 : 왠지 살작 낚인 느낌.

  • 2007/03/08

image preview

몇달 동안 C#을 줄기차게 해오다가 이제 C++로 MFC프로그래밍을 할때가 되었다.
C#에선 클래스의 상속시 형변환을 해도 정상적으로 되는지 알기 위한 is 키워드가 있다.
그리고 C++에선 dynamic_cast<>()와 typeid()가 있다. (typeid는 동작이 좀 다르다.)

이것은 Run-Time Type Information을 활성화 해야하며 레퍼런스 변환시 try-catch도 해야 한다.
dynamic_cast를 사용해서 반환이 null인지를 검사하면 C#의 is 문과 같은 결과를 얻을 수있지만..
C++의 옵션사항이기도 하고 자칫하면 빌드 후 문제 생길 요지가 있을듯 하다.
(Run-Time Type Information (RTTI)가 꺼진 채 컴파일 하면 피본다. 오류도 아닌 경고로 넘어가기에..)

더 좋은 법이 없나 찾는 중 msdn에서 첨부된 그림과 같은 페이지가 나오길레 열심히 봤더니..
엉뚱한 .NET C++사항이였다. MFC는 .NET사항이 아니겠지 하는 기대로 다음에 봐야겠다.

(어디선가 MFC에서 지원하는 CObject클래스를 이용하면 원하는 작업을 할 수 있다고 봤지만..
(어차피 항상 상속해야 하는거 수퍼클래스로 직접 만들어서 사용 하는것이 나을거 같다.
(뭐 그건 얼마 후 하게 될 MFC로 만들 프로그램 진행 하면서 선택해야 겠다 -0-;

Comment

1. 유리온 EDIT DEL

  • 2007/03/12 07:43:02
.............이런일이군요;;

2. [icon]☆~ EDIT DEL

  • 2007/03/14 13:13:57
어라 안녕하세요~
그라나도의 유리온님인가요~
[FIRST] [12] [19] [20] [21] [22] [23] [24] [25] [32] [LAST]