🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1189

Re: Ueberladen ... Problem ... Dringend

#1189
From: Watson
Date: Mon, 08 Jan 1996 16:24
47 lines
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!news
References: <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>