Chcę napisać szablon matematyka wektorowych. Mam klasę, która przyjmuje typ i rozmiar jako argument szablonu, z wieloma metodami operacji matematycznych. Teraz chcę napisać specjalizacje gdzie wektor < 3> na przykład ma X, Y, Z jak członków, które odnoszą się do danych [0..3] odpowiednio.C++ - Użyj domyślnego szablonu jako podstawa do specjalizacji
Problem polega na tym, że nie wiem, jak utworzyć specjalizację która dziedziczy wszystko z domyślnym szablonem bez tworzenia albo klasę bazową lub pisząc wszystko dwa razy.
Jaki jest najbardziej wydajny sposób na zrobienie tego?
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
};
Tworzenie klasy bazowej jest typowe podejście tam. –