Templates

Re: Templates

by Raffaele Ancarola -
Number of replies: 0

Bien sûr on peut avoir n'importe quel classe, il faut utiliser cette syntaxe:

template <class MyClass>
class Vector : private std::vector<MyClass> {
// constructor, destructor, methods, ecc..

typedef std::vector<MyClass> Base;

    T& at(size_t index) {
return Base::at(index);
}
const T& at(size_t index) const {
return Base::at(index);
}
};

C'est seulement un exemple, mais qui permet de comprendre comment un peut generaliser en alternative au polymorphisme (ne pas abuser).

Template signifie que la classe n'existe que quand le template parameter (MyClass) est specifié dans le code, donc il faudrait aussi que toutes le definitions soit dans le .h .