ch18_1.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:

C#编程

开发平台:

Visual C++

  1. //**********************
  2. //**    ch18_1.cpp    **
  3. //**********************
  4. #include<iostream.h>
  5. class RMB{           //人民币类
  6. public:
  7.   RMB(double d){ yuan=d; jf=(d-yuan)/100; }
  8.   RMB interest(double rate);          //计算利息
  9.   RMB add(RMB d);                     //人民币加
  10.   void display(){ cout <<(yuan + jf / 100.0) << endl; }
  11.   RMB operator+(RMB d){ return RMB(yuan+d.yuan+(jf+d.jf)/100); }
  12.                                       //人民币加的运算符重载
  13.   RMB operator*(double rate){ return RMB((yuan+jf/100)*rate);}
  14. private:
  15.   unsigned int yuan;                  //元
  16.   unsigned int jf;                    //角分
  17. };
  18. RMB RMB::interest(double rate)
  19. {
  20.   return RMB((yuan + jf / 100.0) * rate);
  21. }
  22. RMB RMB::add(RMB d)
  23. {
  24.   return RMB(yuan + d.yuan + jf / 100.0 + d.jf / 100.0);
  25. }
  26. //以下是计算应付人民币的两个版本
  27. RMB expense1(RMB principle, double rate)
  28. {
  29.   RMB interest = principle.interest(rate);
  30.   return principle.add(interest);
  31. }
  32. RMB expense2(RMB principle, double rate)
  33. {
  34.   RMB interest = principle * rate;    //本金乘利息
  35.   return principle + interest;        //连本带利
  36. }
  37. void main()
  38. {
  39.   RMB x = 10000.0;
  40.   double yrate = 0.035;
  41.   expense1(x,yrate).display();
  42.   expense2(x,yrate).display();
  43. }