home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C++ for Dummies (3rd Edition)
/
C_FD.iso
/
CHAP21
/
CHAP21_2.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1996-09-02
|
1KB
|
60 lines
// Chap21_2.cpp
class USDollar
{
public:
USDollar(unsigned int d, unsigned int c);
USDollar& operator++();
USDollar operator+(USDollar& s);
protected:
unsigned int dollars;
unsigned int cents;
};
USDollar::USDollar(unsigned int d, unsigned int c)
{
dollars = d;
cents = c;
while (cents >= 100)
{
dollars++;
cents -= 100;
}
}
//operator+ - add s1 to s2 and return the result
// in a new object
USDollar USDollar::operator+(USDollar& s2)
{
unsigned int c = cents + s2.cents;
unsigned int d = dollars + s2.dollars;
USDollar t(d, c);
return t;
}
//operator++ - increment the specified argument;
// change the value of the provided object
USDollar& USDollar::operator++()
{
cents++;
if (cents >= 100)
{
cents -= 100;
dollars++;
}
return *this;
}
int main()
{
USDollar d1(1, 60);
USDollar d2(2, 50);
USDollar d3(0, 0);
d3 = d1 + d2; //very straightforward in use
++d3;
return 0;
}