Sdílet prostřednictvím


Přetěžování operátoru << pro vaše vlastní třídy

Výstupní datové proudy pomocí kurzoru (<<) operátor pro standardní typy.Můžete použít přetížení << operátor pro své vlastní třídy.

Příklad

write Ukázal příklad funkce použití Date struktury.Datum je ideální volbou pro třídu jazyka C++, ve kterém jsou datové členy (měsíc, den a rok) skryté ze zobrazení.Výstupní proud je logický cíl pro zobrazení této struktury.Tento kód zobrazí datum pomocí cout objekt:

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

Chcete-li získat cout přijmout Date objekt po vložení operátor, operátor vkládání rozpoznávat přetížení ostream objekt na levé straně a Date na pravé straně.Přetíženého << by pak operátor funkce musí být deklarovány jako přítele třídy Date , můžete získat přístup k soukromých dat v rámci Date objektu.

// 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;
}
  

Poznámky

Přetíženého operátoru vrátí odkaz na původní ostream objektu, což znamená vkládání lze kombinovat:

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

Viz také

Referenční dokumentace

Výstupní datové proudy