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
[21802] 템플리트 클래스로 타입캐스팅..
치즈 [] 847 읽음    2002-10-01 13:14
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 템플리트 클래스로 타입캐스팅.. 치즈 847 2002/10/01
30824     Re:템플리트 클래스로 타입캐스팅.. 김재구 655 2002/10/01
21811     [다시 질문] 하얀빵, 빨간 빵에서 빵이 템플리트 부모클래스일때일 얘깁니다. 치즈 583 2002/10/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.