Article View: de.comp.lang.c++
Article #1189Re: Ueberladen ... Problem ... Dringend
From: Watson
Date: Mon, 08 Jan 1996 16:24
Date: Mon, 08 Jan 1996 16:24
47 lines
2322 bytes
2322 bytes
Marco Budde wrote:
> Ich habe da ein ziemlich grosses Problem. Mein Informatikprof. hatte
> irgendwie das Verlangen, uns in einer Vorlesungsstunde die komplette C++
> Programmierung zu zeigen ;-)! Jetzt sollen wir ein Programm abliefern,
> dass massenhaft Operatoren ueberlaedt. Leider bekomme ich das absolut
> nicht hin. Ich habe hier zwar ein C++ Buch von Schumann liegen, aber
> irgendwie scheint der Autor selbst keinerlei Ahnung von C++ zu haben. Ich
> hoffe mir kann hier jemand das Uberladen mal genauer erklaeren. Was mir
> absolut nicht klar ist: muss ich fuer die Rueckgabe erst eine Kopie das
> Objekts erzeugen oder wie greife ich auf dieses Objekt zu?
Marco,
die Methode =() liefert, wie Du sehen kannst, grundsaetzlich
einen Referenzwert auf das Objekt selbst zurueck. Die Referenz
wird durch '&' in der Klassendefinition automatisch erzeugt.
Da 'this' nur ein Zeiger auf das Objekt selbst ist, muss
es aber noch derefernziert werden (*this).
Die Operation +() liefert ein neues Objekt zurueck. Dies
koennte so aussehen:
vektor vektor::operator+()
{
vektor newVektor;
...
return newVektor;
}
Beachte, dass hier KEIN Referenztyp verwendet werden sollte,
das newVektor nach dem return ungueltig wird. Es wird folglich
eine Kopie zurueckgegeben. Hier noch [] (reine Vermutung, ich
weiss ja nicht, was [] tun soll):
int & vektor::operator[] (int i)
{
return pointer[i];
}
Hoffe, ich habe mich nicht zu wirr ausgedrueckt :-) Ansonsten
empfehle ich Dir "Stroustrup, The C++ Programming Language".
Dort ist alles formal beschrieben.
--
* Greetinx,
Watson (sayegh@fokus.gmd.de)
more personal details at:
http://www.fokus.gmd.de/ovma/employees/sayegh/entry.html
Technical Details
Message-ID:
<30F14545.7FEB@fokus.gmd.de>Path:
arc1-ca.pugleaf.net!stern.fokus.gmd.de!newsReferences:
<4cqs22$2ou@rztsun.tu-harburg.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!stern.fokus.gmd.de!news From: Watson <sayegh@fokus.gmd.de> Newsgroups: de.comp.lang.c++ Subject: Re: Ueberladen ... Problem ... Dringend Date: Mon, 08 Jan 1996 17:24:37 +0100 Organization: GMD FOKUS - Research Institute for Open Communication Systems Message-ID: <30F14545.7FEB@fokus.gmd.de> References: <4cqs22$2ou@rztsun.tu-harburg.de> NNTP-Posting-Host: pollux.fokus.gmd.de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 2.0b4 (X11; I; SunOS 5.4 sun4m) To: Marco Budde <semb2204@hp00.rz.tu-harburg.de>