Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Vector of a class!!!!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.11.2003, 10:03 Uhr
~Davood
Gast


Hallo Freunde!!

Ich habe eine vektor von einer Klasse:

C++:
vector<Node> node;


die Klasse ist:

C++:
Node
{
     double x, y, z;
};


jetzt möchte ich die Attribute von "node" von einer Datei lesen und belegen.

Wie kann ich es machen.

so etwas geht nicht:

C++:
geoFile >> node[i].x;


danke für die Hilfe

Davood


Bearbeitung von loddab:
cpp-Tags gesetzt

Dieser Post wurde am 20.11.2003 um 10:56 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.11.2003, 10:58 Uhr
typecast
aka loddab
(Operator)


Probiers mal damit:


C++:
for (int i = 0; i != SIZE; ++i)
{
   geoFile >> x >> y >> z;
   node[i].x = x; node[i].y = y; node[i].z = z;
}
}


--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.11.2003, 11:06 Uhr
~Davood
Gast



Zitat:
Loddab postete
Probiers mal damit:


C++:
for (int i = 0; i != SIZE; ++i)
{
   geoFile >> x >> y >> z;
   node[i].x = x; node[i].y = y; node[i].z = z;
}
}




Habe probiert baer es geht nicht. Beim Run sagt compiler:

node_[i].x_ CXX0058: Error: overloaded operator not found

dnake troztdem
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.11.2003, 11:20 Uhr
typecast
aka loddab
(Operator)


Ich hab mal ganz kurz ein kleines Testprogramm geschrieben. Probier mal das aus:


C++:
#include <fstream>
#include <vector>
#include <iostream>

using namespace std;

class Node
{
        public: int  x, y, z;
};

int main()
{
        vector<Node> node;
        Node n;
        node.push_back(n);
        ifstream in("t");;
        int x, y, z;
        in >> x >> y >> z;
        node[0].x = x; node[0].y = y; node[0].z = z;
        cout << node[0].x << " " << node[0].y << " " << node[0].z << endl;
}



Der Inhalt der Datei t ist

Code:
1 2 3



Bei mir funktioniert das ohne Probleme.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.11.2003, 11:51 Uhr
~Davood
Gast


Besten Dank!

Es funktuniert aber staunlicherweise kann der Compiler(Visual C++) beim Debug den gespeicherten Wert in node[i].x nicht zeigen aber wenn ich ihn ausschreiben lasse, ist der richtig gelesen. Ich weiss nicht warum!!!

danke nochmal!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.11.2003, 12:05 Uhr
typecast
aka loddab
(Operator)


Frag mal bei diesem Problem hier nach, woran das liegt.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)

Dieser Post wurde am 20.11.2003 um 12:05 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
20.11.2003, 17:07 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Vc kann blöderweise keine "virtuellen" Arrays im Debugger ausgeben.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: