2016-10-09 6 views
-3

Ich habe einen Konstruktor erstelltC++ Wie drucke ich ein Objekt?

Location(double xIn,double yIn,string placeIn,int timeIn) 
: x(xIn),y(yIn) ...so on { 

Say I Lage Haus (x, y, Ort, Zeit) drucken möchten; das ist in der main().

Wie würde ich das tun? Ich habe herumgesucht und wurde aufgefordert, operator<< zu verwenden. Wie würde ich das umsetzen?

UPDATE: Nach dem Erstellen einiger Methoden zu bekommen, und ich versuchte zu tun, kann nicht genau es kompiliert wegen des Problems

ostream &operator<<(ostream & o, const Location & rhs){ 

     o << rhs.getX() << "," << rhs.getY() << "," << rhs.getPlace() << "," << rhs.getTime(); 
     return o; } 
+3

Ihr Titel und Ihre Frage haben keine Beziehung zueinander. Wie für Ihre Frage, lesen und lesen Sie weiter, bis Sie ein Beispiel und eine Erklärung finden, wie Sie Ihren eigenen Stream Insertion Operator schreiben können; es gibt Zehntausende zur Auswahl. –

+0

Ich habe gerade gemerkt, dass ich meinen Titel nicht fertig geschrieben habe, bevor ich meine Frage geschrieben habe ... – LovesPie

+0

"_wäre das das Richtige zu tun?" _ Nun, hat es getan, was du wolltest? –

Antwort

0

Hier ist die Schablone operator<< für Überlastung:

class Any 
{ 
    public: 
    friend std::ostream& operator<<(std::ostream& output, const Any& a); 
    private: 
    int member; 
}; 

std::ostream& 
operator<<(std::ostream& output, const Any& a) 
{ 
    output << a.member; 
    return output; 
} 

Diese eine mögliche Schablone, gibt es andere Möglichkeiten. Suchen Sie im Internet nach "C++ stream insert operator overload example" für andere Implementierungen.