c++ - 在 c++ 的 main 中没有任何用户定义的东西的情况下重载 cout

标签 c++ operator-overloading

我可以重载 cout 吗?只需在此处的 main 中使用相同的代码

using namespace std;
int main() {

     cout << “overload" <<endl;
     return 0;
}

这里可以重载<<吗?比如让程序打印“overload operator”而不是“overload”?

最佳答案

cout只是 namespace std 中的一个对象.

如果您的“重载”意味着使用相同的代码做其他事情,您可以创建一个 namespace自行创建一个名为 cout 的实例, 然后覆盖 <<运营商。

关于c++ - 在 c++ 的 main 中没有任何用户定义的东西的情况下重载 cout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19075519/

相关文章:

c++ - Python 和 C++ 之间不寻常的速度差异

C++:重载operator+=和operator-=时是否需要自赋值检查?

java - Java中运算符重载的困惑

c++ - 在 Boost MPL 和 Fusion 中启用任意大小的集合

c++ - v8 |手动启动垃圾收集器

c++ - boost::variant 获取最后访问的类型

c++ - 如何正确重载 << 运算符?

c++ - 休息床示例

c++ - 流插入/提取运算符重载函数的原型(prototype)属于哪里?

c++ - operator>> 重载的显式实例化