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
[64388] Re:TObject *Sender의 의미에 관한 질문입니다.
이길남.HoPe [miru0418] 1508 읽음    2011-05-19 20:38
상속의 개념입니다.

class CA
{
  public:
    __fastcall CA();
    __fastcall ~CA();

  public:
    int V1;
}

class CB : public CA
{
  public:
    __fastcall CB();
    __fastcall ~CB();

  public:
    int V2;
}


위에 소스를 보면 CA, CB라는 클래스가 있습니다.

하지만, CB는 CA클래스를 상속 받았습니다.

고로, CB는 CA의 모든 기능을 사용할 수 있습니다. (물론, Protected나 Public으로 선언된건 만입니다만...)

그러면 CB는 CA로만 사용이 가능합니다.

VLC컴포넌트는 모두 위와 같이 상속의 개념으로 연결되어 있습니다.

TStringList도 헬프(F1 -> Hierarchy를 눌러보세요.)을 보면

TObject - TPersistant - TString - TStringList로 상속되어 집니다.

다른 컴포넌트들도 마찬가지로 최상위는 TObject로 귀결지어집니다.

OnClick(TObject *Sender)에서 TObject를 사용한 이유는 모든 클래스를 넣을 수 있기 때문입니다.

위와 같이하면 여러가지 재미있는 장난(?)도 가능합니다.

예를 들어 Button과 Label을 Click(TObject *Sender)라는 함수로 같이 링크를 걸면 아래와 같이 코딩도 가능합니다.
void __fastcall  Click(TObject *Sender)
{
  if dynamic_cast(Sender) then
  {
    //Message '버튼이 클릭되었습니다.
  }
  if dynamic_cast(Sender) then
  {
    //Message '라벨이 클릭되었습니다.
  }
}


제가 프로그램 내공이 부족해서리 이렇게 밖에 설명을 못해드리겠네요..

나머진 고수님들께서 채워주실길 바랍니다.

그럼 이만~ 쉬리릭~

+ -

관련 글 리스트
64387 TObject *Sender의 의미에 관한 질문입니다. B-Fron 1505 2011/05/19
64396     Re:TObject *Sender의 의미에 관한 질문입니다. 아제나 1616 2011/05/20
64388     Re:TObject *Sender의 의미에 관한 질문입니다. 이길남.HoPe 1508 2011/05/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.