問題
次のようなクラスがあるとします。
enum eOutputMode
{
DECIMAL,
BILLS_AND_COINS
};
class BankAccount
{
ssize_t m_dollars;
unsigned short m_pennies;
public:
friend ostream& operator<<( ostream& os, BankAccount const& rhs )
{
// switch on eOutputMode : output in DECIMAL or in BILLS_AND_COINS
return os;
}
};
質問
このように呼び出すことができるように、上記のコードを変更するにはどうすればよいですか?
BankAccount ba;
os << eOutputMode::DECIMAL << ba << "\n";
os << eOutputMode::BILLS_AND_COINS << ba << "\n";
つまり、出力状態をどこでどのようにキャプチャすればよいのでしょうか?