#ifndef STATICARRAY_H // StaticArray.h : // tableau homogene #define STATICARRAY_H // Pour les fonctions friend template : // http://gnu.cict.fr/software/gcc/faq.html#friend #include #include "AbstractArray.h" using namespace std; template class StaticArray; template StaticArray operator+(const StaticArray& a1, const StaticArray& a2); // export // ... En theorie, si on ajoute export, ca evite le template // #include "StaticArray.cpp du fichier du prg principal class StaticArray : public AbstractArray { public: // Constructeurs/destructeur StaticArray(void); // Constructeur par defaut StaticArray(const StaticArray& t); // Constructeur par recopie StaticArray& operator=(const StaticArray& t); // Affectation StaticArray(const T* CArray, int capacity);// Constructeur par cousinage virtual ~StaticArray(void); // Destructeur // Modifieurs virtual void insert(const T& element); // virtuelle // Operateurs StaticArray& operator+=(const StaticArray& a); friend StaticArray operator+ <>(const StaticArray& a1, const StaticArray& a2); private: // Tableau interne static T _st[MAX]; // Utilitaires prives de : copie, desallocation virtual void _copy(const StaticArray& t); // virtuelle virtual void _destroy(void); // virtuelle }; #endif // STATICARRAY_H