home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C++ for Dummies (3rd Edition)
/
C_FD.iso
/
CHAP21
/
CHAP21_3.CPP
< prev
Wrap
C/C++ Source or Header
|
1996-09-02
|
580b
|
29 lines
// Chap21_3.cpp
class USDollar
{
public:
USDollar(double value = 0.0);
//the following function acts as a cast operator
operator double()
{
return dollars + cents / 100.0;
}
protected:
unsigned int dollars;
unsigned int cents;
};
USDollar::USDollar(double value)
{
dollars = (int)value;
cents = (int)((value - dollars) * 100 + 0.5);
}
int main()
{
USDollar d1(2.0), d2(1.5), d3;
//invoke cast operator explicitly...
d3 = USDollar((double)d1 + (double)d2);
//...or implicitly
d3 = d1 + d2;
return 0;
}