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