[C++] Zugriff auf ALLE Objekte einer Klasse

Lord-x-DArK

Grünschnabel
Hallo,

ich wüsste gerne, ob es mit C++ eine einfache Methode gibt um alle Objekte einer Klasse anzusprechen.
Ich habe eine Klasse und ich würde gerne alle Objekte dieser Klasse nacheinander auslesen.
Die Namen der Objekte sind unbekannt.

Ich kenne das von MySql mit dem Select-Befehl (nur das dieser eben für Tabellen ist :rolleyes:)

Vielen Dank im Voraus,

Lord-x-DArK
 
Ich habe das Gefühl du wirfst da irgendwie Begriffe durcheinander...
Aber so wie ich das verstanden habe willst du eine Methode die alle Member-Variablen einer Klasse ausließt?
Warum schreibst du dir nicht einfach eine?
Pack einfach alles in einen Container (Vector, list, array....) und geb den zurück:)
 
Falls du eine Variable in jedem Objekt auf einmal ändern möchtest: Schreib vo dir Variable static hin

zb int k in klasse d
d::k=4;
jetzt haben alle objekte den vierer drin
 
Sorry, wenn ich ich mich unverständlich ausgedrückt habe.

Ich versuche es an einem Beispiel zu verdeutlichen:

Ich habe die Klasse
class Klasse { ... };

und die Objekte
Klasse a;
Klasse b;

ich würde jetzt gerne auf a und b zugreiffen, das Programm kennt aber ihre Namen nicht
(also nix mir a.zahl = 5).
Am besten in einer while/for - Schleife, welche alle Objekte mit der Klasse "Klasse" nacheinander durchgeht.

Trotzdem vielen Dank für eure Antworten,

Lord-x-DArK
 
So Hundert Prozentig habe ich immer noch nicht verstanden, du kannst schlicht und einfach nicht auf ein Objekt oder eine Variable zugreifen, deren Name du nicht kennst. Höchstens per Zeiger, aber dann musste auch vorher mal der Name gewusst sein.
 
@Lord-x-DArK
Du solltest evt. mal etwas genauer beschreiben, wozu du das brauchst. Objekte, die du an irgendeiner Stelle erzeugst, werden ja (in der Regel) einer Variablen zugewiesen und die sollte dir bekannt sein. Außerdem musst du immer auch den Gültigkeitsbereich (Scope) beachten, d.h. erzeugte Objekte (auch wenn der Name bekannt ist) sind nicht unbedingt immer an jeder Stelle des Programmes verfügbar.

Gruß
MCoder
 
Ich glaub ich weiß was er machen möchte. Er möchte von einer Klasse nach einer anderen Klasse zugreifen oder ggf. Klassen verschachteln.. Das wichtigste dabei ist, dass du dann eigentlich die Methoden auf public setzen müsstest wenn es keine verschachtelte Klasse sein sollte. Hier hab ich einen Link der dir alles viel besser erklärt ;) http://www.math.uni-wuppertal.de/~axel/skripte/oop/oop23_6.html
 
Hallo,
ich bin dabei, ein kleines OpenGl Framework zu schreiben.
Dafür gibt es eine Klasse, mit der Objekte definiert werden (Position, Farbe, Texturen ...),

In der Render-Loop solle jetzt eine Funktion (UpdateObjects) aufgerufen werden die alle Objekte, die mit dieser Klasse erzeugt/definiert wurden, nacheinander ausließt und die OpenGl Befehle passend aufruft. Die Funktion weiß aber nicht, welche Variablen alle mit dieser Klasse definiert wurden.
Ich will also nicht für alle neuen Variablen die Funktion neu schreiben.
 
tjoa..

Du müsstest im Konstruktor der Klasse die Funktion aufrufen, um beim erstellen der Variablen müsstest du einfach nur einen kleinen zusätzlichen Schritt machen und die Referenzen übergeben (am besten in ein Vector laden) und den letzten Schritt (was du am Ende machen möchtest) machst du in der Schleife..

So ungefähr müsste es gehen, ich kann schon im voraus sagen, dass du aufjedenfall viel mit Zeigern arbeiten werden müsstest.
 
Zurück