1. ホーム
  2. c++

[解決済み] C++のostreamとofstreamの変換

2022-03-05 16:39:04

質問

私のコードには ostream オブジェクトが様々なモジュールによって蓄積され、最終的にコンソールに表示されます。ALSO にはこんな風に書いて欲しい ostream オブジェクトをファイルに書き出すことができますが、そのコードをすべて ofstream オブジェクトに変換する方法はないのでしょうか? stringstream ?)

例えば、私の既存の関数の多くは次のようなものです。

ostream& ClassObject::output(ostream& os) const
{
    os << "Details";
    return os;
}

この関数を ofstream オブジェクトを引数にとり、その ofstream オブジェクトが代わりに情報を蓄積するのですか?

どのように解決するのですか?

はい、できます。というOOコンセプトのポイントです。 サブタイプポリモーフィズム . というのも ofstream から派生した ostream のインスタンスは、すべて ofstream のインスタンスであると同時に ostream も(概念的には)同じです。そのため ostream が期待されます。