C++流插入运算符重载
在 C++ 中,流插入运算符(<<)用于输出数据到流中的运算符,流插入运算符可以被重载,使得程序员可以自定义输出对象的方式。
重载流插入运算符的一般形式如下:
其中,T 是要输出的自定义类型,os 是一个 std::ostream 类型的输出流对象,obj 是要输出的自定义类型的对象。
重载函数的返回值是一个 std::ostream 类型的引用,表示输出流对象。
在重载流插入运算符时,读者需要注意以下几点:
1、重载函数必须是类的友元函数或者是全局函数。
2、重载函数的第一个参数必须是 std::ostream 类型的引用。
3、重载函数的第二个参数必须是要输出的自定义类型的常量引用。
4、重载函数必须返回一个 std::ostream 类型的引用。
下面是我写的流插入运算符重载 demo:
在上面 demo 中,我定义了一个名为 MyObject 的类,并在其中重载了流插入运算符<<。
重载函数的第一个参数是一个 std::ostream 类型的引用,表示输出流对象;
第二个参数是一个 const MyObject 类型的引用,表示要输出的对象。
在重载函数中,我将输出流对象 os 中插入了一个字符串,该字符串包含了 MyObject 对象的值,最后返回输出流对象 os。
在主函数中,我创建了一个 MyObject 对象 obj,并使用 cout 流将其输出到标准输出流中。
上述 demo 编译运行结果: