[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