65,186
社区成员




#include <iostream>
using namespace std;
class Rmb
{
public:
explicit Rmb(double d)
{
yuan=d;
jf=(d-yuan)/100;
}
Rmb interest(double rate);
Rmb add(Rmb d);
void display()
{
cout<<yuan+jf/100.0<<endl;
}
Rmb operator +(Rmb d)
{
return Rmb(yuan+d.yuan+(jf+d.jf)/100);
}
Rmb operator *(double rate)
{
return Rmb((yuan+jf/100)*rate);
}
private:
double yuan;
double jf;
};
Rmb Rmb::interest(double rate)
{
return Rmb((yuan+jf/100.0)*rate);
}
Rmb Rmb::add(Rmb d)
{
return Rmb(yuan+d.yuan+jf/100.0+d.jf/100.0);
}
Rmb expense1(Rmb principle,double rate)
{
Rmb interest=principle.interest(rate);
return principle.add(interest);
}
Rmb expense2(Rmb principle,double rate)
{
Rmb interest=principle*rate;
return principle+interest;
}
int main()
{
Rmb x(10000.0);
double yrate=0.035;
(expense1(x,yrate)).display();
(expense2(x,yrate)).display();
return 0;
}