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
[21811] [다시 질문] 하얀빵, 빨간 빵에서 빵이 템플리트 부모클래스일때일 얘깁니다.
치즈 [] 583 읽음    2002-10-01 15:47
빵기계는 씨빌더겠죠..
제 말은 그것이 아니라 빵에 해당하는 부모클래스가 템플리트 클래스일 때
그것의 빵의 클래스에 대한 포인터를 얻어올수 없냐는 것인데
다시한번 생각해 보시고 답변을 부탁드립니다.
할수있는건지 없는건지..

예를들어

class TBread
{
}

class TWhiteBread: public TBread
{
}

class TRedBread: public TBread
{
}

이라면

TBread * bread;

로 포인터형으로 얻을수 있을 텐데
TBread 가 Template 클래스일 때 포인터를 얻을수 있느냐는 겁니다.
목적은 TBread 안의 멤버함수를 TWhiteBread, TRedBread 에 대해
콜 할수있도록 하기 위해서..



치즈 님이 쓰신 글 :
: template <class T>
: class TMyView
: {
: }
:
: 식으로 선언된 템플릿 클래스가있습니다.
: 그런데 
:
: typedef TMyView<TObject> TMyObject;
:
: 식으로 하거나 상속받은 클래스 선언시에 T 에 해당 타입을 
: 클래스를 넘겨줘서 
:
: class TMyObject2 : public TMyView<TObject> 
: 처럼 다시 클래스파라미터에 뭔가를 지정을 해서 새로운 클래스 타입을
: 템플리트로부터 만들어 쓰는데
:
: 이걸 클래스 타입을 선언을 안하고 클래스 타입을 파라미터로 놔둔상태로
: 그 템플리트를 어떤 타입으로 받아서 그대로 사용하고자 합니다.
:
: 그러니까 제가 할려는 것은 
: 추상클래스를 템플리트 클래스로 만들고
: 그 추상클래스에 대한 포인터를 필요로 하는 겁니다.
:
: 그런데 템플리트 클래스가 추상형 클래스일때 
: 그것의 포인터를 얻어올수 있는 것이 클래스 타입을 결정하지 않고
: 가능한가라는 것입니다.
:
: 그냥 선언만 하면 가능했었던거 같은데 그걸 실제로 그 추상형 타입으로
: 인스턴스를 생성(new 추상형 클래스)하거나 하면 실제로 에러가 나면서
: 안됐던거 같습니다.
:
: 추상형 클래스에 대한 선언은 아래처럼 했었습니다.
:
: typedef TMyView<class T> TMyViewTemplate; 
:
: 그냥 저렇게 선언만 해놓으면 컴파일되는데
: 실제로 
: new TMyViewTemplate() 식으로 사용한다거나 
:
: 이 추상클래스를 상속받은 클래스를 만든후에 
: TMyViewTemplate 로 형변환을 하는  것등이 되지 않습니다.
: 결국 추상클래스로 형변환을 해서 상속받은 클래스들의 공통적인
: 멤버함수를 콜하고 싶은 것인데 이런것에 대해서 무슨 방법이 있는지
: 알려주세요.
:
:

+ -

관련 글 리스트
21802 템플리트 클래스로 타입캐스팅.. 치즈 848 2002/10/01
30824     Re:템플리트 클래스로 타입캐스팅.. 김재구 656 2002/10/01
21811     [다시 질문] 하얀빵, 빨간 빵에서 빵이 템플리트 부모클래스일때일 얘깁니다. 치즈 583 2002/10/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.