[ale] [OT] C++ Question
Jonathan Glass
jonathan.glass at ibb.gatech.edu
Mon Dec 2 12:01:23 EST 2002
money3.showmoney(); returns garbage. It's like I am not either (a)
initializing the variable correctly (this possibility has been
eliminated via liberal cout's), or (b) not returning the correct
variable (maybe I need a pointer?). I have another statement (AddMoney)
which works fine...just this operator overload doesn't work.
Here's my test code:
CMoney CMoney::operator+ ( CMoney& t)
{
// money3 = money1 + money2
CMoney temp;
temp.showmoney();
this->showmoney();
t.showmoney();
temp.m_cents= this->m_cents + t.m_cents;
temp.showmoney();
this->showmoney();
t.showmoney();
return (temp);
}
int main(int argc, char* argv[])
{
CMoney money1;
money1.AddMoney(0,101);
CMoney money2;
money2.AddMoney(0,100);
CMoney money3;
money3.ShowMoney();
money3=money1+money2;
cout << "MONEY1: ";
money1.ShowMoney();
cout << endl << "MONEY2: ";
money2.ShowMoney();
cout << endl;
cout << "MONEY3: ";
money3.ShowMoney();
return 0;
}
And I get the following for output
0 dollars 0 cents
0 dollars 0 cents
1 dollars 1 cents
1 dollars 0 cents
0 dollars 1 cents
1 dollars 1 cents
1 dollars 0 cents
MONEY1:0 dollars 0 cents
MONEY2:0 dollars 0 cents
MONEY3:-8589933 dollars -858993300
ARGH!!
Thanks again
Jonathan
On Mon, 2002-12-02 at 11:46, Jim Popovitch wrote:
> Hi Jonathan,
>
> This should help... if not what specific error are you getting?
>
> http://hpcf.nersc.gov/vendor_docs/ibm/vac/language/ref/overloading.cplr318.h
> tm
>
>
> -Jim P.
>
> > -----Original Message-----
> > From: ale-admin at ale.org [mailto:ale-admin at ale.org]On Behalf Of Jonathan
> > Glass
> > Sent: Monday, December 02, 2002 11:39 AM
> > To: ale at ale.org
> > Subject: [ale] [OT] C++ Question
> >
> >
> > I'm working on my final project, and am having the hardest time with the
> > overloading the "+" operator for a custom class. Any thoughts? I'll be
> > happy to attach the full source file on request.
> >
> > TIA
> >
> > -----
> >
> > CMoney CMoney::operator+ ( CMoney& t)
> > {
> > // money3 = money1 + money2
> > CMoney temp;
> >
> > temp.m_cents= this->m_cents + t.m_cents;
> > return temp;
> > }
> >
> > int main(int argc, char* argv[])
> > {
> > CMoney money1;
> > money1.AddMoney(0,101);
> > CMoney money2;
> > money2.AddMoney(0,100);
> > CMoney money3;
> > money3.ShowMoney();
> > money3=money1+money2;
> > cout << "MONEY1: ";
> > money1.ShowMoney();
> > cout << endl << "MONEY2: ";
> > money2.ShowMoney();
> > cout << endl;
> > cout << "MONEY3: ";
> > money3.ShowMoney();
> > return 0;
> > }
> >
> > -----
> > Jonathan Glass
> > Systems Support Specialist II
> > Institute for Bioengineering & Bioscience
> > Georgia Institute of Technology
> > 404.385.0127
> >
> > _______________________________________________
> > Ale mailing list
> > Ale at ale.org
> > http://www.ale.org/mailman/listinfo/ale
> >
>
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://www.ale.org/mailman/listinfo/ale
--
Jonathan Glass
Systems Support Specialist II
Institute for Bioengineering & Bioscience
Georgia Institute of Technology
404.385.0127
_______________________________________________
Ale mailing list
Ale at ale.org
http://www.ale.org/mailman/listinfo/ale
More information about the Ale
mailing list