Hej,
Jeg vil gerne genbruge noget kode i en template og dens specialisering - uden at arve den; se fx:
template <int N>
class vektor : public base<N>
{
public:
// Constructors etc..
double norm() const;
};
template <>
class vektor<2> : public base<2>
{
public:
// Constructors og metoder specifikke for 2 dimensionelle vektorer
double norm() const;
};
// Fælles implementation af norm() her for begge specialiseringer. <-- Hvordan?
-Hvor altså den defaulte vektor-template repræsenterer vilkårlige N-dimensionelle vektorer, og den anden specialiserer for 2-dimensionelle (fx kan man kun finde tværvektoren når den er 2D).
Men der findes jo også operationer som er fælles, fx længden (aka. 2-normen) af en vektor.
--
Jeg ved godt at man vil kunne lægge norm() ind i base, men jeg synes bare ikke den hører til dér.