Kann ich drucken Sie ein Objekt von der Klasse mit printf()?

Ich habe einige code wie dieser:

class Point {
public:
    int x,y;
    Point() : x(1), y(1) {}
}

Kann ich drucken Objekt der Klasse mit printf():

int main()
{
    Point point;
    printf("%o",point);
    return 0;
}

oder ich habe zu überlasten operator<< und verwenden std::cout:

std::ostream& operator<<(std::ostream& os, Point const& p)
{
    os << p.x << "," << p.y;
    return os;
}
int main()
{
    Point point;
    std::cout << point;
    return 0;
}
  • Entfernen Sie bitte die c - tag.
  • Hier sind Sie richtig!
  • Was passiert, wenn man versucht printf?
  • Die Kompilierung wurde abgebrochen, weil der Ausdruck "%o" ist nicht gültig. Als ich versuchte, eine gültige, wie "%d", es war ein Fehler erwartet argument des Typs int.
  • Es gibt also die Antwort auf Ihre Frage.
InformationsquelleAutor Nathiss | 2016-02-15
Schreibe einen Kommentar