自动C++ cout <<格式

C++ Format for cout << Automatically

本文关键字:lt 格式 C++ cout 自动      更新时间:2023-10-16

如果我有一个简单的类,有两个变量x和y,以及一个函数ToString(),它返回带有数据的格式化字符串。当我调用

cout << simpleClass << "n";

有谁知道我有simpleClass的方法吗?自动调用ToString返回正确格式的字符串?我猜有一种方法来做到这一点与操作符函数,但我不知道我将如何做到这一点。

如果您问如何定义这样的操作符,

template<class CharT, class TraitsT>
std::basic_ostream<CharT, TraitsT>&
operator <<(std::basic_ostream<CharT, TraitsT>& os, SimpleClass const& sc)
{
    return os << sc.ToString();
}

你定义

std::ostream& operator <<(std::ostream&, const SimpleClass&)

调用ToString(),传递ostream&,返回ostream&