メンバ変数をpublicメンバにして公開せずに入出力関数を用意すべきと言いますが
その際に入力用と出力用と2種類作った方が良いのでしょうか?

class Choge
{
private:
 std::string memo_;
public:
 std::string memo(const std::string& data = "")
 { return (data.empty() ? memo_ : memo_ = data); }
}

上のように入出力をまとめちゃった方がスッキリしそうな気がするのですが
少しトリッキーなようで、こんな事をしても良いのか迷ってます