[ale] [OT] C++ Question
Jonathan Glass
jonathan.glass at ibb.gatech.edu
Mon Dec 2 12:06:36 EST 2002
Um..I'm embarrassed to admit it...but I found the error of my ways. I
had my copy constructor commented out for testing. Darn! I spent like 2
days on this!
<hiding from keyboard and screen in humiliation>
Jonathan
On Mon, 2002-12-02 at 12:01, Jonathan Glass wrote:
> 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
--
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