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"
}