c++ - <</>> 运算符重载和输入/输出函数之间的区别

标签 c++

如果有人能向我解释重载输入/输出运算符之间的区别,我将不胜感激,例如:

friend ostream& operator<<(ostream& ost, const myClass& obj) {
    return ost << obj.x << obj.y;
}

和像这样的输出/输入函数:

void Output(ostream& ost) {
    ost << x << y;
}

它们是做什么用的,例子等等。一切都可以接受。谢谢!

最佳答案

重载 <<运算符将允许您链接输出操作:

myClass a, b;

...

cout << a << ' ' << b;

使用您的替代实现,您必须编写:

myClass a, b;

...

a.Output(cout);
cout << ' ';
a.Output(b);

第一个版本可以更轻松地快速查看输出的格式。它也是在 C++ 中使用流的标准方式。

关于c++ - <</>> 运算符重载和输入/输出函数之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33393706/

相关文章:

c++ - 通过两个类时出现奇怪的输出数据

c++ - 为什么 long long union 成员的对齐比包含的 union/struct 大?这个对吗?

c++ - 使用 Qt 在 Mac 上设置图标

c++ - 可在调试器中浏览的自定义容器

c++ - 实例化创建线程的类的多个实例......?

c++ - Qt GET请求奇怪响应

c++ - 为什么我在 Eclipse CDT 上收到此错误?

c++ - 链接 g++ minGW

使用 std::map 的类 header 中的 C++ 模板化属性 - 编译器错误 C1001

c++ - 嵌套开关替代