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

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

本文关键字:lt obj objName os friend Operator C++ ostream      更新时间:2023-10-16

我有一个关于运算符的问题<lt;过载。我需要在作业中使用一个向量来返回向量的内容。我认为我的运算符方法是有效的,但是我完全不知道如何在另一个类中调用它。

这是我的ColoneCartes.cpp类中的运算符:

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

我正试图从另一个类调用它,以便在控制台中显示它,但我还没有找到如何做到这一点。

我的第二个问题是关于在运算符中返回向量对象的内容,我想知道除了使用这样的循环来返回内容之外,是否还有其他方法?

非常感谢!

您所引用的控制台称为标准输出(stdout)。在C++中,使用流输出到stdout,应该使用iostream标头中的std::cout对象。

假设您有一个ColonneCartes类型的colonneCartes对象,那么,为了将其myVector输出到stdout,请写:

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

您编写的operator<<使ColonneCartes类型的对象能够在<<之后使用。