Article View: be.comp.programming
Article #8862Re: Vraag over operator overloading
From: Christof Laeremans
Date: Fri, 07 Jun 2002 18:17
Date: Fri, 07 Jun 2002 18:17
52 lines
2534 bytes
2534 bytes
On 6/7/02 3:49 PM, in article
20020607154936.3695d4b7.johan@gewestpallieter.be, "Johan Vervloet"
<johan@gewestpallieter.be> wrote:
> 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
>
Bedankt voor de uitleg, het is zo duidelijk als popwater !
Mvg,
Christof
Technical Details
Message-ID:
<B926C551.624C%christof_laeremans@hotmail.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!supernews.com!news.infoave.net!newsfeed.frii.net!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!skynet.be!skynet.be!news.be.wanadoo.com!news.wanadoo.be!not-for-mailReferences:
<B9267BCD.622D%christof_laeremans@hotmail.com> <20020607154936.3695d4b7.johan@gewestpallieter.be>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 11:21:39 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!supernews.com!news.infoave.net!newsfeed.frii.net!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!skynet.be!skynet.be!news.be.wanadoo.com!news.wanadoo.be!not-for-mail From: Christof Laeremans <christof_laeremans@hotmail.com> Newsgroups: be.comp.programming Subject: Re: Vraag over operator overloading Date: Fri, 07 Jun 2002 20:17:21 +0200 Organization: Wanadoo Belgium Lines: 53 Message-ID: <B926C551.624C%christof_laeremans@hotmail.com> References: <B9267BCD.622D%christof_laeremans@hotmail.com> <20020607154936.3695d4b7.johan@gewestpallieter.be> NNTP-Posting-Host: adsl-143-227.wanadoo.be Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Trace: sinclair.be.wanadoo.com 1023473858 1285796 213.177.143.227 (7 Jun 2002 18:17:38 GMT) X-Complaints-To: abuse@wanadoo.be NNTP-Posting-Date: Fri, 7 Jun 2002 18:17:38 +0000 (UTC) User-Agent: Microsoft-Entourage/10.0.0.1309