From e47343e8269a3b8f629cf38f42bec1f90a14f42f Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Thu, 26 Jun 2014 12:30:04 +0200 Subject: Updated Assignment No. 8 --- 8.00.Ringliste.cc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/8.00.Ringliste.cc b/8.00.Ringliste.cc index 3468f08..dbb26d2 100644 --- a/8.00.Ringliste.cc +++ b/8.00.Ringliste.cc @@ -66,6 +66,7 @@ Ringliste::Ringliste ( uint lng ){ index = 0; laenge = lng; element = new T[laenge]; + assert( element != NULL ); } // ----- end of function Ringliste::Ringliste ----- // === FUNCTION ====================================================================== @@ -74,18 +75,15 @@ Ringliste::Ringliste ( uint lng ){ // ===================================================================================== template < class T > Ringliste::Ringliste ( const Ringliste &other ){ - // Exeption safty - T *tmp = new T[other.laenge]; - - for(uint i = 0; i < other.laenge; i++){ - tmp[i] = other.element[i]; - } - laenge = other.laenge; index = other.index; - delete[] element; - element = tmp; + element = new T[laenge]; + assert( element != NULL ); + + for(uint i = 0; i < other.laenge; i++){ + element[i] = other.element[i]; + } } // ----- end of function Ringliste::Ringliste ----- // === FUNCTION ====================================================================== @@ -120,7 +118,6 @@ void Ringliste::dump (){ // ===================================================================================== template < class T > Ringliste& Ringliste::add ( T wert ){ - assert( element != NULL ); assert( index < laenge ); element[index] = wert; -- cgit v1.2.3-70-g09d2