C++ friend Operator<<(ostream os, obj objName)

C++ friend Operator<<(ostream os, obj objName)

我有一个关于运算符<< 重载的问题。我需要在作业中使用一个 return 矢量的内容。我认为我的运算符方法有效,但我完全不知道如何在另一个 class.

中调用它

这是我的 ColonneCartes.cpp class 中的运算符:

ostream& operator<<(ostream & os, const ColonneCartes & p_colonneCartes)
{
     for (int i = 0; i < myVector.size(); i++)
     {
          os << myVector.at(i).getValue();
     }

     return os;
};

我正在尝试从另一个 class 调用它以在控制台中显示它,但我还不知道如何操作。

我的第二个问题是关于 return 在我的运算符中输入矢量对象的内容,我想知道除了使用像这样的循环来 return 内容是否还有另一种方法?

非常感谢!

您所指的控制台称为标准输出 (stdout)。在C++中,使用流输出到stdout,你应该使用std::cout object from iostream header.

假设你有一个 colonneCartes object 类型 ColonneCartes,然后,为了将它的 myVector 输出到 stdout, 写:

#include <iostream>
...
std::cout << colonneCartes;

您编写的 operator<< 使 ColonneCartes 类型的 object 能够在 <<.

之后使用