我刚刚看到了这个问题,它是关于如何通过 ToString() 方法打印对象的。
std::cout << x << std::endl;
据我所知,实现此功能的标准方式是重载ostream的<<运算符。然而,这样做是在ostream上添加一个特性,而不是在我的类上添加一个特性。
另一种选择(也作为上述问题的答案给出)是覆盖字符串转换运算符。然而,这会导致“意外转换和难以跟踪的错误”的警告。
现在我想知道编写toString()方法并通过它使用是否有任何缺点。
std::cout << x.toString() << std::endl;
int
转换吗?还是你的意思是使用to_string
函数? - doctorloveostream& operator<<
。如果您想将其转换为字符串,请给它一个to_string
成员。 - juanchopanza