Hallo,
Ich habe zwei Fragen zur Erstellung und Handhabung von Instanzen zur Laufzeit in C++:
1.) Angenommen ich habe eine Klasse definiert, die einen Kreis darstellt. Zur Laufzeit (!) des Programms soll nun der Benutzer z.B. per Mausklick beliebig viele Instanzen erzeugen können. Wie mache ich das? Ich kann ja keine Namen im voraus vergeben. Wie greife ich dann auf die Instanzen zu? Meine einzige Idee war ein 1D-Array dieser Klasse zu nehmen und dann über den Index auf die Instanzen zuzugreifen. Aber geht das wirklich nur so?
2.) Schon etwas komplizierter: Angenommen ich habe eine Klasse "Tier" definiert, die die Elementfunktion "Laufen" besitzt. Von dieser Klasse "Tier" erben nun z.B. zwei Klassen "Hund" und "Katze" diese Elementfunktion.
An einer bestimmten Stelle des Programms (um anschaulich zu bleiben, in der Funktion "Pfiff" ) soll nun bei allen Instanzen von Hund und Katze die Methode "Laufen" ausgeführt werden.
Da die Instanzen von Hund und Katze aber zur Laufzeit erstellt werden, kann ich Laufen() aber nicht einfach in Pfiff() aufrufen... Außerdem kann ich bei zwei verschiedenen Typen (Hund und Katze) auch nicht mit einem Array arbeiten...
Ich hoffe ich konnte verständlich machen, wo bei mir die Frage liegt. Es ist immer schwer zu fragen, wenn man eigentlich nicht richtig weiß, wonach man sucht...
Ich habe zwei Fragen zur Erstellung und Handhabung von Instanzen zur Laufzeit in C++:
1.) Angenommen ich habe eine Klasse definiert, die einen Kreis darstellt. Zur Laufzeit (!) des Programms soll nun der Benutzer z.B. per Mausklick beliebig viele Instanzen erzeugen können. Wie mache ich das? Ich kann ja keine Namen im voraus vergeben. Wie greife ich dann auf die Instanzen zu? Meine einzige Idee war ein 1D-Array dieser Klasse zu nehmen und dann über den Index auf die Instanzen zuzugreifen. Aber geht das wirklich nur so?
2.) Schon etwas komplizierter: Angenommen ich habe eine Klasse "Tier" definiert, die die Elementfunktion "Laufen" besitzt. Von dieser Klasse "Tier" erben nun z.B. zwei Klassen "Hund" und "Katze" diese Elementfunktion.
An einer bestimmten Stelle des Programms (um anschaulich zu bleiben, in der Funktion "Pfiff" ) soll nun bei allen Instanzen von Hund und Katze die Methode "Laufen" ausgeführt werden.
Da die Instanzen von Hund und Katze aber zur Laufzeit erstellt werden, kann ich Laufen() aber nicht einfach in Pfiff() aufrufen... Außerdem kann ich bei zwei verschiedenen Typen (Hund und Katze) auch nicht mit einem Array arbeiten...
Ich hoffe ich konnte verständlich machen, wo bei mir die Frage liegt. Es ist immer schwer zu fragen, wenn man eigentlich nicht richtig weiß, wonach man sucht...
Comment