🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #8857

Re: Vraag over operator overloading

#8857
From: Johan Vervloet
Date: Fri, 07 Jun 2002 13:49
46 lines
2391 bytes
De operator= moet normaalgezien het huidige getal wijzigen.
Wat jij doet :

> Getallen Getallen::operator= (const Getallen & g) const
> {
>     
>     Getallen temp;
>     
>     temp._getal = g._getal;
>     
>     return temp;
> }
> 

maakt een nieuw getal aan (temp), kopieert de gegevens van g naar temp,
en geeft temp weer als terugkeerwaarde.  Het getal waar de operator= op
moet werken blijft dus onveranderd, en dat is niet de bedoeling.  Je
moet geen nieuw getal maken, maar het huidige wijzigen.

Dit is hoe je functie eruit zou moeten zien :

 Getallen& Getallen::operator= (const Getallen & g) 
 {
     _getal = g._getal;
     
     return *this;
 }
 
Merk op dat de `const' achteraan verdwenen is.  Die mag er niet blijven
staan, aangezien het object waarop operator= werkt niet constant blijft
(je gaat het een nieuwe waarde geven).

Het returnen van *this zorgt ervoor dat constructies zoals

g1 = g2 = g3

ook naar behoren werken (maar eventueel kan je van je operator= ook een
void functie maken en niets returnen).


Groet - Johan


-- 
Steun de actie tegen MS Word attachments !
   http://www.gewestpallieter.be/~jvvloet/word
Technical Details
Message-ID: <20020607154936.3695d4b7.johan@gewestpallieter.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!peer.news.opaltelecom.net!newsfeed.wirehub.nl!newsfeed.vmunix.org!newsfeed.belnet.be!naxos.belnet.be!news.belnet.be!news.uia.ac.be
References: <B9267BCD.622D%christof_laeremans@hotmail.com>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,ea2d507e20e1aa17
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-06-07 06:49:43 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!peer.news.opaltelecom.net!newsfeed.wirehub.nl!newsfeed.vmunix.org!newsfeed.belnet.be!naxos.belnet.be!news.belnet.be!news.uia.ac.be
From: Johan Vervloet <johan@gewestpallieter.be>
Newsgroups: be.comp.programming
Subject: Re: Vraag over operator overloading
Date: Fri, 7 Jun 2002 15:49:36 +0200
Organization: University of Antwerp - UIA
Lines: 46
Message-ID: <20020607154936.3695d4b7.johan@gewestpallieter.be>
References: <B9267BCD.622D%christof_laeremans@hotmail.com>
NNTP-Posting-Host: hnets.uia.ac.be
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Trace: naxos.belnet.be 1023457780 11645 143.169.254.1 (7 Jun 2002 13:49:40 GMT)
X-Complaints-To: abuse@belnet.be
NNTP-Posting-Date: Fri, 7 Jun 2002 13:49:40 +0000 (UTC)
X-Newsreader: Sylpheed version 0.7.6 (GTK+ 1.2.10; i686-pc-linux-gnu)
X-Original-NNTP-Posting-Host: pcinf24.uia.ac.be
X-Original-Trace: 7 Jun 2002 15:49:35 +0200, pcinf24.uia.ac.be