-2

cout例如,我可以在函数上重载返回值吗?例如,我有这个类:

class Xxx
{
   string val = "3";
}

现在我想"3"cout没有其他方法的情况下返回。我要那个 :

Xxx myVar;
cout<<myVar;

打印"3"为其结果。

4

1 回答 1

1

通常的做法是overloas ostream& operator<<(ostream&, T)。在这里,val为简单起见公开:

class Xxx
{
 public:
   std::string val = "3";
}

#include <ostream>
std::ostream& operator<<(std::ostream& o, const Xxx& x)
{
  return o << x.val;
}

然后

Xxx x;
std::cout << x << std::endl; // prints "3"

这种方法意味着您还可以将实例Xxx流式传输到除文件之外的输出流类型std::cout

于 2013-05-30T09:05:41.210 回答