Wie initialisiert man das Objekt dynamisch im Programm ohne Vererbung in C++? Zum Beispiel Ich habe Klasse A und Klasse B. Und abhängig von der Bedingung muss ich Instanz des Objekts erstellen, aber ich weiß nicht genau, welches Objekt ich erstellen muss, es hängt von Informationen, die Benutzer eingeben;Wie initialisiert man ein Objekt dynamisch im Programm?
Beispielcode:
int i;
cin>>i>>endl;
void *obj;
if(i)
obj = new A();
else
obj = new B();
Mögliche Duplikate von [Casting Class Pointer zu Void Pointer] (https://stackoverflow.com/questions/18929225/casting-class-pointer-to-void-pointer) – Tryum
Warum wollen Sie Vererbung vermeiden? Wenn Sie in der Lage sein müssen, eine der beiden Klassen in einer Variablen zu speichern, müssen die Klassen etwas gemeinsam haben. Wenn sie etwas gemeinsam haben, dann ist Vererbung eine natürliche Lösung. –
es nur eine Möglichkeit? aber wenn ich Klasse von Matrix und Klasse von Vector habe? Glaubst du, dass es eine gute Wahl ist, vor allem eine abstrakte Klasse zu erstellen? – icegas