Mercurial > hg > octave-avbm
changeset 659:fe75d98598d6
[project @ 1994-08-29 21:23:06 by jwe]
author | jwe |
---|---|
date | Mon, 29 Aug 1994 21:23:06 +0000 |
parents | ce51ae1bc05e |
children | 1787dc40c811 |
files | liboctave/Array.cc |
diffstat | 1 files changed, 30 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/Array.cc +++ b/liboctave/Array.cc @@ -149,11 +149,15 @@ Array<T>& Array<T>::operator = (const Array<T>& a) { - if (--rep->count <= 0) - delete rep; + if (this != &a) + { + if (--rep->count <= 0) + delete rep; - rep = a.rep; - rep->count++; + rep = a.rep; + rep->count++; + } + return *this; } @@ -378,9 +382,13 @@ Array2<T>& Array2<T>::operator = (const Array2<T>& a) { - Array<T>::operator = (a); - d1 = a.d1; - d2 = a.d2; + if (this != &a) + { + Array<T>::operator = (a); + d1 = a.d1; + d2 = a.d2; + } + return *this; } @@ -625,10 +633,14 @@ Array3<T>& Array3<T>::operator = (const Array3<T>& a) { - Array<T>::operator = (a); - d1 = a.d1; - d2 = a.d2; - d3 = a.d3; + if (this != &a) + { + Array<T>::operator = (a); + d1 = a.d1; + d2 = a.d2; + d3 = a.d3; + } + return *this; } @@ -789,9 +801,13 @@ DiagArray<T>& DiagArray<T>::operator = (const DiagArray<T>& a) { - Array<T>::operator = (a); - nr = a.nr; - nc = a.nc; + if (this != &a) + { + Array<T>::operator = (a); + nr = a.nr; + nc = a.nc; + } + return *this; }