수학 벡터 템플릿을 쓰고 싶습니다. 형식 및 크기를 템플릿 인수로 사용할 수있는 수학 연산 메서드가 많은 클래스가 있습니다. 이제 벡터 < 3>이 데이터 [0..3]을 각각 참조하는 멤버로 x, y, z를 갖는 전문화를 작성하려고합니다.C++ - 특수화를위한 기본 템플릿으로 사용
문제는 기본 클래스를 만들거나 모든 것을 두 번 쓰지 않고 기본 템플릿에서 모든 것을 상속하는 전문화 방법을 모르는 것입니다.
가장 효과적인 방법은 무엇입니까?
template<class Type, size_t Size>
class Vector {
// stuff
};
template<class T>
class Vector<3,T>: public Vector {
public:
T &x, &y, &z;
Vector(): Vector<>(), x(data[0]), y(data[1]), z(data[2]){}
// and so on
};
기본 클래스를 만드는 것이 일반적인 방법입니다. –