Article View: be.comp.programming
Article #8857Re: Vraag over operator overloading
From: Johan Vervloet
Date: Fri, 07 Jun 2002 13:49
Date: Fri, 07 Jun 2002 13:49
46 lines
2391 bytes
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.beReferences:
<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