次の方法で共有


クラスを独自の << の演算子をオーバーロードします

出力ストリームは基本データ型に挿入 <<() 演算子を使用します。独自のクラスの << の演算子をオーバーロードできます。

使用例

write の関数には Date の構造の使用方法を示しています。日付はデータ メンバー (月日および年) がビューから非表示になる C.C++ クラスの最適な推奨されます。出力ストリームはそのような構造を表示するための論理的なターゲットです。このコードは cout のオブジェクトを使用して日付を表示します :

Date dt( 1, 2, 92 );
cout << dt;

cout を出力ストリーム演算子の後に Date のオブジェクトを受け入れるようにするためには左側に ostream のオブジェクトと右側の Date を認識するように出力ストリーム演算子をオーバーロードします。オーバーロードされた << の演算子関数はクラス Date したがってのフレンドを Date のオブジェクトのプライベート データにアクセスできるように宣言する必要があります。

// overload_date.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

class Date
{
    int mo, da, yr;
public:
    Date(int m, int d, int y)
    {
        mo = m; da = d; yr = y;
    }
    friend ostream& operator<<(ostream& os, const Date& dt);
};

ostream& operator<<(ostream& os, const Date& dt)
{
    os << dt.mo << '/' << dt.da << '/' << dt.yr;
    return os;
}

int main()
{
    Date dt(5, 6, 92);
    cout << dt;
}
  

解説

オーバーロードされた演算子でそれを挿入を結合できる ostream 元のオブジェクトへの参照を返します :

cout << "The date is" << dt << flush;

参照

関連項目

出力ストリーム