Rogue Wave バナー
前へマニュアルの先頭へ目次次へ

17.1 新しいストリーム型の派生

標準入出力ストリームからストリーム型を派生させる方法は、データメンバー や関数を追加したり、ストリームの入出力演算を変更する場合に適した方法です。

第 15 章では、xalloc()iword()pword() によって、追加データをストリームオブジェクトを追加できることを説明しました。ただし、この解法は追加データまでのポインタしか保存できず、実際のメモリーについては他の誰かが管理する必要がありました。

しかし、追加データをデータメンバーとして格納する新しいストリーム型を派生することで、この問題を解決することができます。15.3 節で説明した date 挿入子と setfmt マニピュレータの例をもう一度考えます。ここでは、対応するメンバー関数と、書式設定文字列を保存するための追加データメンバーを合わせ持った新しいストリームを派生させて、日付の書式を設定します。26今回の例でも、date オブジェクトの挿入子だけを取り上げ、抽出子は省略します。前回と同様に、出力ストリームを挿入する代わりに、 odatstream という新しい型のストリームを使用します。

date today;
odatstream ostr(cout);
// 
ostr << setfmt("%D") << today;

次の節では、この派生ストリーム型の実装方法について説明します。


前へマニュアルの先頭へ目次次へ

Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。


OEM リリース, 1998 年 6 月