重载您的选件类的<<运算符
输出流为标准类型使用插入<<() 运算符。 还可以重载的 << 运算符拥有类。
示例
write 函数示例演示了使用 Date 结构。 日期是数据成员的 c. C++ 类的一个理想的候选 (月、日和年) 中隐藏。 输出流是显示这种结构的逻辑目标。 使用 cout 对象,此代码将显示日期:
Date dt( 1, 2, 92 );
cout << dt;
获取接受 Date 对象的 cout 在插入运算符之后,重载运算符插入识别左侧的一 ostream 对象和右边的 Date 。 然后必须声明重载 << 运算符函数,类 Date ,因此 friend 可以访问 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;