cout
例如,我可以在函数上重载返回值吗?例如,我有这个类:
class Xxx
{
string val = "3";
}
现在我想"3"
在cout
没有其他方法的情况下返回。我要那个 :
Xxx myVar;
cout<<myVar;
打印"3"
为其结果。
cout
例如,我可以在函数上重载返回值吗?例如,我有这个类:
class Xxx
{
string val = "3";
}
现在我想"3"
在cout
没有其他方法的情况下返回。我要那个 :
Xxx myVar;
cout<<myVar;
打印"3"
为其结果。
通常的做法是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
。