1.RMB类
要求:
定义一个RMB类 Money,包含元、角、分三个数据成员,友元函数重载运算符‘+’(加)
和 ‘-’(减),实现货币的加减运算
例如:
请输入元、角 分:
2 3 4
请输入元、角 分:
3 7 3
和:6元0角7分
差:-1元3角9分
又例如:
请输入元、角 分:
2 3 4
请输入元、角 分:
3 0 0
和:4元6角0分
差:-0元6角6分
代码实现:
1 #include <iostream> 2 using namespace std; 3 4 class Money 5 { 6 private: 7 int yuan, jiao, fen; 8 bool flag; //标志位,0表示钱数为正,1表示钱数为负 -> 默认结果的钱数为正 9 public: 10 Money(); 11 Money(int fg, int y=0, int j=0, int f=0): yuan(y), jiao(j), fen(f), flag(fg){} 12 friend Money operator+(Money a, Money b); 13 friend Money operator-(Money a, Money b); 14 void display(); 15 16 }; 17 18 Money::Money() 19 { 20 flag = 0; 21 cout << "请输入元、角 分:" <<endl; 22 cin >> yuan >> jiao >> fen; 23 } 24 25 void Money::display() 26 { 27 if(flag==1) cout << '-'; 28 cout << yuan << "元" << jiao << "角" << fen << "分" << endl; 29 } 30