>>842
根本的な理解がない、残念君のご様子。

> std::ofstream fs("a.txt");

コンストラクタでOpenする場合、失敗すると例外がスローされるから、関数内
または上位でtry〜catchかな。 C#やJavaで毎回NULL参照チェック書いてるか?

いずれにしろ、オープンされていないオブジェクトが

> fs<<"test"<<std::endl;

に渡されることはない。 こうした処理は、オブジェクトのシリアライズ処理を実装
した関数内へ記述して、参照渡しでオープン済のオブジェクトを渡すのが一般的。