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

时间:2015-02-27 00:13:53

标签: c++ operator-overloading

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

这是我在ColonneCartes.cpp课程中的操作员:

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

     return os;
};

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

我的第二个问题是关于在操作符中返回矢量对象的内容,我想知道是否有另一种方法,而不是使用像这样的循环来返回内容?

非常感谢!

1 个答案:

答案 0 :(得分:1)

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

假设您有一个类型为colonneCartes的{​​{1}}对象,那么,为了将其ColonneCartes输出到标准输出,请写:

myVector

您编写的#include <iostream> ... std::cout << colonneCartes; 是在operator<<之后使用ColonneCartes类型的对象的原因。