レートが 2:1 の場合、$5 + 10 CHF = $10$5 + $5 = $10$5 * 2 = $10Dollar 型を定義create_dollar() を実装multiply() を実装amount のプライベート化Dollar の副作用- Money の丸め処理
equal() を実装- hashCode() を実装
- NULL との等価性
- Dollar オブジェクト以外のオブジェクトとの等価性
5 CHF * 2 = 10 CHFDollar と Franc の重複equals() の一般化multiply() の一般化MoneyPrivateのプライベート化create_{dollar,franc} の一般化FrancとDollarの比較通貨(財務ドメイン(アプリレベル)での通貨概念の導入。本輪講ではCで実装している都合、まわりくどい方法で通貨概念が入っている。)Makefile 整理。ファイル毎にルール書いている重複の除去。.h への依存の自動出力(gcc -MM 使うなど)test_multiply_franc_XX の削除$5 + $5がMoneyを返すbank_reduce(money)の実装reduceが換算をするreduce(bank, string)をどうにかする.Sum.plusExpression.timesExpression 型の dollar, franc をユーザーが free する際に内部で作成している Money オブジェクトも free されるようにする。- (NEW) money_from() を汎用化するか除去する。
- (NEW) add_rate時に作成されるpairオブジェクトを管理し、後で削除できるようにする。