salida - que significa endl en c++
¿Cómo puedo usar cout<< myclass (3)
Necesita sobrecargar el operador << ,
std::ostream& operator<<(std::ostream& os, const myclass& obj)
{
os << obj.somevalue;
return os;
}
Luego, cuando hagas cout << x (donde x es de tipo myclass en tu caso), myclass lo que le hayas dicho en el método. En el caso del ejemplo anterior, sería el miembro x.somevalue .
Si el tipo del miembro no se puede agregar directamente a un ostream , entonces también deberá sobrecargar el operador << para ese tipo, utilizando el mismo método que el anterior.
myclass es una clase de C ++ escrita por mí y cuando escribo:
myclass x;
cout << x;
cómo sacar 10 o 20.2 , como un integer o un valor float ?
Típicamente al sobrecargar al operator<< para su clase:
struct myclass {
int i;
};
std::ostream &operator<<(std::ostream &os, myclass const &m) {
return os << m.i;
}
int main() {
myclass x(10);
std::cout << x;
return 0;
}
es muy fácil, solo implemente:
std::ostream & operator<<(std::ostream & os, const myclass & foo)
{
os << foo.var;
return os;
}
Debes devolver una referencia al sistema operativo para encadenar el outpout (cout << foo << 42 << endl)