dynamic_cast im Vergleich zur Bereitstellung virtueller Funktionen in der übergeordneten Klasse (C ++)
Ich habe eine Elternklasse "base" und eine andere Klasse "deriviert", die von "base" erbt.
"abgeleitet" hat 1 Methode cH1.
wenn ich das mache:
base* b = new derived();
Und das möchte ich können:
b->cH1();
Offensichtlich kann ich nicht und es gibt 2 Lösungen:
Deklarieren Sie entweder cH1 als pure virtual in base.oder mach das:
dynamic_cast<derived*>(b)->cH1();
Welches ist eine bessere Praxis?