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

델파이 Q&A
Delphi Programming Q&A
[7489] Re:[질문]델파이의 IS / AS 와 같은 cbuilder 연산자? (냉무)-감사합니다.
박지훈.임프 [cbuilder] 1630 읽음    2001-10-16 17:20
임프랍니다.

Delphi의 is, as 연산자 모두 C++Builder에서는 dynamic_cast 연산자로 해결합니다. dynamic_cast 연산자는
C++Builder에서만 사용되는 비표준 키워드가 아니라 현재 개정중인 새 ANSI/ISO에 제안되어 다음 표준에
추가될 것으로 알고 있습니다. (이런 키워드들로 reinterpret_cast, static_cast 등 몇가지가 있습니다.)

이 dynamic_cast 연산자는 캐스팅이 가능한 경우, 즉 캐스팅하려는 객체가 해당 타입이거나 그 타입으로부터
상속받은 경우 정상적으로 캐스팅하려는 타입의 포인터를 리턴하며, 그렇지 않은 경우에는 NULL을 돌려줍니다.
그러므로 델파이의 is 와 as 연산자를 모두 대치할 수 있습니다.

예를 들어서, 델파이에서 다음과 같이 코딩했다면,
if Sender is TButton then ...
C++Builder에서는 다음과 같이 하면 됩니다.
if(dynamic_cast<TButton *>(Sender)) ...

또한 다음과 같은 코드는..
var
  SenderButton: TButton;
...
begin
...
  SenderButton := Sender as TButton;

다음과 같이 하면 됩니다.
  SenderButton = dynamic_cast<TButton *>(Sender);

그럼 이만...


도움받기 님이 쓰신 글 :
: IS.
: AS.

+ -

관련 글 리스트
7488 [질문]델파이의 IS / AS 와 같은 cbuilder 연산자? (냉무)-감사합니다. 도움받기 804 2001/10/16
7489     Re:[질문]델파이의 IS / AS 와 같은 cbuilder 연산자? (냉무)-감사합니다. 박지훈.임프 1630 2001/10/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.