C++ Can操作员<&书信电报;用于设计我们自己的输出显示方式
像C++ Can操作员<&书信电报;用于设计我们自己的输出显示方式,c++,C++,像 std::cout简单,您可以制作一个操纵器: out<<some_output std::ostream和自定义_输出(std::ostream和os) { return os你可以像另一个答案所说的那样做。这里有另一种方法: std::cout << custom_output; X类 { 公众: X(std::string const&_name):name(_name){ friend std::ostream&operator您的问题还不清楚。您希望运
std::cout简单,您可以制作一个操纵器:
out<<some_output
std::ostream和自定义_输出(std::ostream和os)
{
return os你可以像另一个答案所说的那样做。这里有另一种方法:
std::cout << custom_output;
X类
{
公众:
X(std::string const&_name):name(_name){
friend std::ostream&operator您的问题还不清楚。您希望运算符具体是什么?是的。您希望有一种方法将自定义类发送到cout
,还是一种方法将自定义类用作自定义格式化程序来代替cout
?如果我想传递字符串或int,我如何调用它?@Rocking然后您将我们必须做一些不同的事情:将custom\u输出更改为类并重载
out<<some_output
std::ostream& custom_output(std::ostream& os)
{
return os << std::string(5, '-') << std::endl
<< "name" << std::endl
<< std::string(5, '-') << std::endl;
}
std::cout << custom_output;
class X
{
public:
X(std::string const& _name) : name(_name) { }
friend std::ostream& operator<<(std::ostream& os, const X& x)
private:
std::string name;
};
std::ostream& operator<<(std::ostream& os, const X& x)
{
return os << x.name;
}
int main()
{
X x("Bob");
std::cout << x; // "Bob"
}