C++ C++;cout<&书信电报;自动地
如果我有一个包含两个变量x和y的简单类,以及一个返回带数据的格式化字符串的函数ToString()。当我打电话时C++ C++;cout<&书信电报;自动地,c++,cout,C++,Cout,如果我有一个包含两个变量x和y的简单类,以及一个返回带数据的格式化字符串的函数ToString()。当我打电话时 cout << simpleClass << "\n"; cout如果你问如何定义这样一个操作符 模板 std::基本_ostream& 运算符您定义的 std::ostream& operator <<(std::ostream&, const SimpleClass&) std::ostream&operator+1
cout << simpleClass << "\n";
cout如果你问如何定义这样一个操作符
模板
std::基本_ostream&
运算符您定义的
std::ostream& operator <<(std::ostream&, const SimpleClass&)
std::ostream&operator+1:我喜欢你如何实现一个对所有basic_ostream
对象进行操作的函数,而不仅仅是cout
@ildjarn:然而,我想知道你将如何编写一个SimpleClass::ToString()
成员,返回任何请求的字符串。(我遗漏了什么吗?@sbi:假设用户将传入与字符串字符类型兼容的流,否则将出现编译器错误(就像尝试将std::wstring
流式传输到std::ostream
)@sbi:我完全不同意——流/字符串类型不仅仅是字符类型;e、 g.流可以使用非默认的TraitsT
参数。@sbi:我也不同意这一点char-const*
和std::string
都能同样好地流到std::basic_ostream
和std::basic_ostream
(例如std::cout
和std::wcout
)。为什么仅仅因为角色类型很窄就必须使用窄流?