C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[45085] 다운케스팅 질문...
잠스터 [] 917 읽음    2006-05-26 16:48
1.
클래스 A(자식)가 B(부모)를 상속받았다고 가정했을 때,
A* a = NULL;
B* b = new B();
a = dynamic_cast<A*>(b);
이렇게 자식 타입이 부모를 다운케스팅했는데 NULL이 들어 옵니다.
어떤 경우에 케스팅이 되고 어떤 경우에 안되는지 궁금합니다.
덩치가 큰 클래스들을 다운케스팅을 해서 자주 쓰는데 NULL이 들어온 적은 없었거덩요..
간단한 테스트를 하다가 문뜩 NULL이 나오길래 질문올립니다.

2.
자식 타입이 부모를 다운케스팅받게 해놓고 컴파일을 했는데
부모 클래스 is not a defined class with virtual fuctions. 이렇게 에러를 띄웁니다.
자식 타입이 부모를 받을 때 부모의 함수중에는 반드시 가상 함수가 존재해야 하나요?
왜 이런지 궁금합니다.

답변 부탁드릴께요...

+ -

관련 글 리스트
45085 다운케스팅 질문... 잠스터 917 2006/05/26
45094     Re:다운케스팅 질문... 둘리 960 2006/05/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.