un vettore dinamico "sicuro"
Ecco una possibile implementazione di un vettore dinamico "sicuro", cioe' che maschera il delete incorporandolo nel proprio distruttore.
#ifndef vettoreSimple_h
#define vettoreSimple_h
/** \class vettoreSimple
\brief un vettoreSimple dinamico sicuro
*/
template <class T>
class vettoreSimple
{
public :
//! costruttore
vettoreSimple (const int & elementsNum) :
m_elementsNum (elementsNum) ,
m_elements (new T [m_elementsNum])
{}
//! distruttore
~vettoreSimple ()
{
delete [] m_elements ;
}
//! ritorna un elemento (modificabile)
T &
elemento (const int & i)
{
if (i<m_elementsNum) return m_elements[i] ;
else return m_elements[m_elementsNum-1] ;
}
private :
int m_elementsNum ;
T * m_elements ;
} ;
#endif
Nessun commento:
Posta un commento