Auslesen des Objektnames getobjectname() ??????
-
Hallo!!
Wie kann ich in einer Memberfunktion meiner Klasse den Namen des Objektes in einen String schreiben???
gibt es sowas wie getobjectname()????MfG Wysel
-
Gibt es nicht. Du kannst ein Object "nur" durch seine Speicheradresse identifizieren. Wenn das nicht reicht, machste ein eigene Memberfunktion, die ein std::string anspricht.
-
Nein, das geht nicht, da im Programm selber das Objekt keinen Namen hat, sondern nur eine (Anfangs-)Adresse im Speicher. Wozu brauchst du das überhaupt? Kannst ja den Namen einfach so ausgeben .... -> cout << "Mein Objekt" << endl; ...
Aber viel Sinn machen tut das nich :p
-
Ich habe eine Klasse cData erstellt die ein Datenpaket speichert.
Private: Sendername, Zieladresse, Datenelemente (Array), Priorität,...Dieses Datenpaket soll in einen String umgewandelt und dieser in einer Datei gespeichert werden.
Im main heißen meine Objekte zB: Daten, Daten1, Daten2,...
Ich will es so machen, dass die Datei in der der String gespeichert wird, automatisch so wie das Objekt heißt (zB Daten1.dat).
Sinn des Ganzen: Übertragung des Objektes: Datenobjekt->umwandlung in String-> speichern in Datei->Übertragung ->lesen aus Datei-> umwandlung in Datenobjekt.
Hab außerdem in der DynamicHelp von C++.Net eine Funktion getobjectname() gefunden. Weiß aber nicht wie und ob ich sie anwenden kann!!!
MfG und Danke!!!
Wysel
-
Mmmmh, also ich weiß nicht, ich hab mal im MSDN geguckt, aber da gibts nur eine Methode, die so heißt und hat, wenn ich das auf die schnelle richtig gesehen hab, nichts damit zu tun, dass man sich den "Namen" von einem Objekt holen kann.
Die einzige Möglichkeit, die du hättest, wäre, dass du ein Attribut einbaust, das den Namen enthält und dann baust du in den Konstruktor eine Zuweisung ein und übergibst deinen "Namen":class blubb { blubb(string name); //Übergabe von dem "namen" des Objektes ~blubb(); getName(); private: string name; //Hier wird der Name reingeschrieben };
So in der Richtung...
MfG
-
Das ist eine WindowsMediaPlayer-Funktion (auch noch in C), hat nichts mit der Sprache C++ zu tun und auch nichts mit C++-Objekten.
Du mußt das selbst implemetieren, in C++ gibts das, was du willst nicht (auch nicht in Java). Meiner Meinung nach gehst du an die Sache auch total falsch ran. Das was du machen willst, macht man nicht so. Du denkst nämlich, das deine Variablen (die im Sourcecode stehen) nach dem Compilieren irgendwie zur Laufzeit da sind. Das stimmt aber nicht! Die Variablen sind nur für dich als Programmierer eine Vereinfachung. Zur Laufzeit gibt es dann keine Variablen mehr.
Du wirst mit deiner jetzigen Programmierart an deine Grenzen stoßen, da du nicht mit dynamisch instanzierten Objekten arbeitest.
So wie es Vainde als Codebeispiel gezeigt hat, mußt du es machen.