0
인터페이스가 double이지만 템플릿 화 된 유형이 동적으로 캐스트되지 않는 클래스는 어떻게 만들 수 있습니까? 시간 실행 얻을인터페이스가 double과 일치하지만 템플릿을 특수화 할 수있는 클래스는 어떻게 만듭니 까?
template<int min_value, int max_value>
class BoundedDouble: public double {};
그리고 템플릿 특수화를 사용
이유는 내가 런타임 타입 시스템을 가지고, 난 그냥 배처럼 작동 유형을 가질 수 있기를 원하는 것입니다 그 유형에 대한 정보 :
template<typename T>
class Type { etc. }
template<int min_value, int max_value>
class Type<BoundedDouble<min_value, max_value>> { int min() const { return min_value; } etc. }
, 당신이 ... 이중에서 상속 할 수 없습니다
시도하지 마십시오 - 당신은 단지 다른 테이너의 눈이 출혈이 발생할 수 있습니다. 이와 같은 것이 필요한 경우에는 상속이 아닌 composition을 사용하고 명시적인 변환 함수 (예 : ToDouble)를 사용합니다. –