Como posso usar cout << myclass

myclass é uma class C ++ escrita por mim e quando eu escrevo:

 myclass x; cout << x; 

Como faço para a saída 10 ou 20.2 , como um valor integer ou float ?

    Normalmente sobrecarregando o operator<< para sua class:

     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; } 

    Você precisa sobrecarregar o operador << ,

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

    Então, quando você faz cout << x (onde x é do tipo myclass no seu caso), ele produziria o que quer que você tenha informado no método. No caso do exemplo acima, seria o membro x.somevalue .

    Se o tipo do membro não puder ser adicionado diretamente a um ostream , você precisará sobrecarregar o operador << para esse tipo também, usando o mesmo método acima.

    é muito fácil, basta implementar:

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

    Você precisa retornar uma referência para os para encadear o outpout (cout << foo << 42 << endl)