Article View: be.comp.programming
Article #8855Vraag over operator overloading
From: Christof Laeremans
Date: Fri, 07 Jun 2002 13:03
Date: Fri, 07 Jun 2002 13:03
153 lines
4037 bytes
4037 bytes
Hallo,
Ik ben hier een beetje aan het prullen met operator overloading. De normale
wiskundige bewerkingen die lukken wel in mijn voorbeeld, maar de =
(toekenning) die krijg ik maar niet zoals het moet.
Hierbij de code en kan er mij aub iemand zeggen wat er juist fout zit met
die = operator.
Alvast bedankt.
Christof Laeremans
HEADER FILE
#ifndef __GETALLEN_H
#define __GETALLEN_H
class Getallen
{
private:
int _getal;
public:
Getallen();
Getallen(int getal);
int getGetal();
Getallen operator+ (const Getallen &g) const;
Getallen operator* (const Getallen &g) const;
Getallen operator/ (const Getallen &g) const;
Getallen operator- (const Getallen &g) const;
Getallen operator= (const Getallen &g) const;
};
#endif
IMPLEMENTATIE HEADER FILE
#include <iostream.h>
#include "getallen.h"
Getallen::Getallen(int getal) //constructor met 1 argument om declaratie
Getal B(5) mogelijk te maken !
{
_getal = getal;
}
Getallen::Getallen() //constructor zonder argumenten om declaratie Getal A
mogelijk te maken !
{
_getal = 0;
}
int Getallen::getGetal()
{
return _getal;
}
Getallen Getallen::operator+ (const Getallen & g) const
//Operator overloading
{
Getallen som;
som._getal = _getal + g._getal;
return som;
}
Getallen Getallen::operator* (const Getallen & g) const
{
Getallen produkt;
produkt._getal = _getal * g._getal;
return produkt;
}
Getallen Getallen::operator/ (const Getallen & g) const
{
Getallen quotient;
quotient._getal = _getal / g._getal;
return quotient;
}
Getallen Getallen::operator- (const Getallen & g) const
{
Getallen verschil;
verschil._getal = _getal - g._getal;
return verschil;
}
Getallen Getallen::operator= (const Getallen & g) const
{
Getallen temp;
temp._getal = g._getal;
return temp;
}
PROGRAMMA
#include <iostream.h>
#include "getallen.h"
int main()
{
Getallen A(5);
Getallen B(10);
Getallen C;
cout<<"Het ingelezen getal is: "<<A.getGetal()<<endl;
cout<<"het ingelezen getal is: "<<B.getGetal()<<endl;
cout<<endl;
cout<<endl;
C = A + B;
cout<<"Het totaal is: "<<C.getGetal()<<endl;
C = A * B;
cout<<"Het produkt is: "<<C.getGetal()<<endl;
C = A / B;
cout<<"Het quoti�nt is: "<<C.getGetal()<<endl;
C = A - B;
cout<<"Het verschil is: "<<C.getGetal()<<endl;
C = A;
cout<<"In het object C zit nu de waarde: "<<C.getGetal()<<endl;
}
Uitvoer van het programma
Het ingelezen getal is: 5
het ingelezen getal is: 10
Het totaal is: 0
Het produkt is: 0
Het quoti�nt is: 0
Het verschil is: 0
In het object C zit nu de waarde: 0
Technical Details
Message-ID:
<B9267BCD.622D%christof_laeremans@hotmail.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!peer.news.opaltelecom.net!newsfeed.wirehub.nl!bnewspeer00.bru.ops.eu.uu.net!emea.uu.net!oleane.net!oleane!easynet-quince!easynet.net!feed1.news.be.easynet.net!news.be.wanadoo.com!news.wanadoo.be!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: fcea4,ea2d507e20e1aa17,start X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-06-07 06:03:58 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!peer.news.opaltelecom.net!newsfeed.wirehub.nl!bnewspeer00.bru.ops.eu.uu.net!emea.uu.net!oleane.net!oleane!easynet-quince!easynet.net!feed1.news.be.easynet.net!news.be.wanadoo.com!news.wanadoo.be!not-for-mail From: Christof Laeremans <christof_laeremans@hotmail.com> Newsgroups: be.comp.programming Subject: Vraag over operator overloading Date: Fri, 07 Jun 2002 15:03:41 +0200 Organization: Wanadoo Belgium Lines: 154 Message-ID: <B9267BCD.622D%christof_laeremans@hotmail.com> NNTP-Posting-Host: adsl-143-253.wanadoo.be Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 8bit X-Trace: sinclair.be.wanadoo.com 1023455037 1549197 213.177.143.253 (7 Jun 2002 13:03:57 GMT) X-Complaints-To: abuse@wanadoo.be NNTP-Posting-Date: Fri, 7 Jun 2002 13:03:57 +0000 (UTC) User-Agent: Microsoft-Entourage/10.0.0.1309