在Java中,当一个类重写 .toString()
方法,而你使用 System.out.println()
方法时将会使用该方法。
class MyObj {
public String toString() { return "Hi"; }
}
...
x = new MyObj();
System.out.println(x); // prints Hi
我如何在C++中实现这一点,以便:
Object x = new Object();
std::cout << *x << endl;
输出的字符串表示会是我为Object
选择的一些有意义的字符串吗?
new
动态分配对象(这样做无法编译)。 - sthObject* x = new Object(); cout << *x;
或Object x; cout << x;
。 - Vlad