我如何使用cout << myclass

myclass是我写的C ++类,当我写:

 myclass x; cout << x; 

如何输出1020.2 ,如integerfloat值?

通常通过重载operator<<您的类:

 struct myclass { int i; }; std::ostream &operator<<(std::ostream &os, myclass const &m) { return os << mi; } int main() { myclass x(10); std::cout << x; return 0; } 

你需要重载<<运算符,

 std::ostream& operator<<(std::ostream& os, const myclass& obj) { os << obj.somevalue; return os; } 

然后当你做cout << x (其中x在你的情况下是myclasstypes),它会输出你在方法中告诉它的任何东西。 在上面的例子中,它将是x.somevalue成员。

如果成员的types不能直接添加到一个ostream ,那么你也需要重载该types的<<运算符,使用与上面相同的方法。

这很容易,只是执行:

 std::ostream & operator<<(std::ostream & os, const myclass & foo) { os << foo.var; return os; } 

你需要返回一个对os的引用来链接outpout(cout << foo << 42 << endl)