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
[40468] Re:아무 클래스 멤버 함수를 가르키는 함수포인터 선언방법이 있을까요?
Batman [] 1712 읽음    2005-06-08 21:24
함수는 typedef로 선언해야 되므로.. 그리고 type도 여러가지이므로, 이것이 템플릿이나 policy 등의 방법으로 구현이 될 수 있는지는... ^^ 잘 모르겠고..

객체, 클래스 등은 typeid나 typeinfo 등 rtti 의 방법으로 알아낼 수 있을 것입니다.

보다 편리하게 제어하자면...

실질적으로 모든 클래스(아주 별볼일 없는 찌질이 클래스도)를 자신만의 베이스 클래스로부터 상속받도록 하고.
베이스 클래스에서 자신이 원하는 기능, 예를 들면 멤버 포인터를 리스트에 추가하고(이 경우 멤버 포인터도 베이스 클래스로부터 상속받습니다.), 그렇게 추가된
멤버 리스트를 이용하여 type이 일치하는지의 처리를 수행할 수도 있겠죠.

음.. 그러니까.
모든 구현하는 클래스를 어떠한 베이스 클래스로부터 상속을 받는다 이런 얘기가 되겠죠.
vcl이 TObject 로부터 상속받는것처럼요. 그러면 언젠가 질문하신 것에 답을 구했다면, 베이스 클래스에 그 기능을 추가하시기만 하면 되겠죠. ^^


EmptySpear 님이 쓰신 글 :
: 안녕하세요..
:
: 아무 클래스 멤버 함수를 가르키는 함수포인터 선언방법이 있을까요?
:
: typedef void (Test::*FuntPtr)(); -> 이건 Test클래스의 멤버함수를 가르키는 함수포인터지요?
:
: 그런데 Test라는 특정클래스와 상관없이 어떤 클래스라도 가르키는 함수포인터를 어떻게 선언할까요?
:
: 단 BCB전용인(??)__closure키워드 사용치 말구 표준 C++로 ...템플리트를 이용하면 될것 같은데 ...
:
:  미천한 지식이라 잘 모르겠네요..꼭 알려주세요
:
: template <class T> void (T::*FuncPtr)(); 이런식으로 T형 클래스를 가르키는 함수포인터 선언을 하고파요...

+ -

관련 글 리스트
40454 아무 클래스 멤버 함수를 가르키는 함수포인터 선언방법이 있을까요? EmptySpear 1615 2005/06/08
40468     Re:아무 클래스 멤버 함수를 가르키는 함수포인터 선언방법이 있을까요? Batman 1712 2005/06/08
40456     원하시는 답변은 아니랍니다.. -_-;; 수야!╋ 1040 2005/06/08
40458         Re:원하시는 답변은 아니랍니다.. -_-;; 소리바람.OJ 1004 2005/06/08
40460             Re:Re:원하시는 답변은 아니랍니다.. -_-;; EmptySpear 921 2005/06/08
40464                 원하시는 답변일겁니다.. -_-;; 수야!╋ 1185 2005/06/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.