2016-12-22 6 views
-3

Wenn ich einen Vektor wie dieses:Wie drucke ich einfach einen Vektor?

struct vector3D { 
    float x; 
    float y; 
    float z; 
}; 

vector3D aVector = { 3.4, 4.4, 9.3 }; // my vector 

Wie kann ich die aVector an die Konsole cout?

+4

Sie können entweder drucken jedes Mitglied der Struktur (cout << aVector.x << "" << aVector.y << "" << aVector.z;) oder Überladung << Operator für cout. – berendeanicolae

+0

Ich weiß buchstäblich nicht, warum ich diese Frage gestellt habe, ich habe das herausgefunden, bevor ich auf deine Antwort geschaut habe. Es ist cool, ich verstehe die Down-Stimmen :-) –

+0

http://StackOverflow.com/a/41097964/2015579 –

Antwort

5

können Sie die Ausgabe-Operator überladen << für Ihre Objekte zu verwenden:

struct vector3D { 
    float x; 
    float y; 
    float z; 
    friend ostream& operator<<(ostream& out, vector3D rhs){ 
      out << "(" << rhs.x << ", " << rhs.y << ", " << rhs.z << ")" << endl; 
      return out; 
    } 
}; 

jetzt können Sie cout verwenden Ihre Objektwerte drucken:

int main(){ 
    vector3D v = {10, 20, 30}; 
    cout << v << endl; 
}