Article View: de.comp.lang.c++
Article #1658Re: Q: operatoren ueberladen -> wer loescht evtl. neue Instanzen????
From: Andreas Zierdt
Date: Wed, 14 Feb 1996 17:06
Date: Wed, 14 Feb 1996 17:06
47 lines
1972 bytes
1972 bytes
Dirk Brenckmann (brenck@iib.bauwesen.th-darmstadt.de) wrote:
: Im Ernst. Speziell beim Ueberladen von + und - operatoren in Klassen
: ergibt sich das Problem, dass ich innerhalb der Methoden neue Instanzen
: schaffen muss, um die per return wieder zuruck zu geben.
Das folgende Beispiel sollte zeigen, wie es geht:
/* Der Operator = ermöglicht Zuweisungen von Vektoren.*/
template<class T> Vector<T>& Vector<T>::operator=(const Vector& v)
{
unsigned int i;
if (this == &v)
return( *this);
for (i=0; i<dim; i++)
data[i] = v.data[i];
return (*this);
}
/* Die Operatoren + und - erlauben Vektoraddition und -subtraktion. */
template<class T> Vector<T> Vector<T>::operator+(const Vector& v) const
{
unsigned int i;
Vector result(dim);
for (i=0; i<dim; i++)
result.data[i] = data[i] + v.data[i];
return(result);
}
Berechnet man jetzt a = b + c, so umfaßt die Lebensdauer des neuen, von
+() erzeugten Objekts, die Zeit, während der der operator=() aktiv ist.
Andreas
--
Andreas Zierdt, Institut fuer Phonetik und sprachliche Kommunikation
Universitaet Muenchen, Schellingstr. 3
80799 Muenchen, Germany
E-mail: andi@sun1.phonetik.uni-muenchen.de
Technical Details
Message-ID:
<4ft4ri$ne@sparcserver.lrz-muenchen.de>Path:
arc1-ca.pugleaf.net!linux8.phonetik.uni-muenchen.de!andiReferences:
<4fspll$j05@rs18.hrz.th-darmstadt.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!linux8.phonetik.uni-muenchen.de!andi From: andi@linux8.phonetik.uni-muenchen.de (Andreas Zierdt) Newsgroups: de.comp.lang.c++ Subject: Re: Q: operatoren ueberladen -> wer loescht evtl. neue Instanzen???? Date: 14 Feb 1996 17:06:58 GMT Organization: Phonetik Distribution: world Message-ID: <4ft4ri$ne@sparcserver.lrz-muenchen.de> References: <4fspll$j05@rs18.hrz.th-darmstadt.de> Reply-To: andi@sun1.phonetik.uni-muenchen NNTP-Posting-Host: linux8.phonetik.uni-muenchen.de X-Newsreader: TIN [version 1.2 PL2]