operator <<の定義の仕方

意外と見つからないのでメモ。理解してないから応用が効かなかったわけだけども。

friend ostream& operator<<(ostream& os, const Date& dt);

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

使うにはfriend宣言が必要になる。

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

個人的には"std::"をつけといたほうが好き。