Wenn man etwas über Polymorphismus lernt, sieht man normalerweise so etwas
class Base { int prv_member; virtual void fn(){} }
class Derived : Base { int more_data; virtual void fn(){} }
Was ist Upcasting oder Downcasting? Ist (Derived*)base_ptr;
ein Upcast oder Downcast?
Ich nenne es verärgert, weil Sie von der Basis weg in etwas Spezifischeres gehen. Andere Leute sagten mir, dass es ein Downcast ist, weil Sie eine Hierarchie in etwas Bestimmtes aufbauen, wobei die Spitze die Wurzel ist. Aber andere Leute scheinen es so zu nennen, wie ich es nenne.
Wenn ein Basis-PTR in einen abgeleiteten PTR konvertiert wird, spricht man von Upcasting oder Downcasting? und wenn jemand auf eine offizielle Quelle verlinken oder erklären kann, warum es so heißt, dann ist es großartig.
virtual
ist unnötig, "schadet" aber nicht. Können Sie erläutern, warum Sie der Meinung sind, dass es in diesem Zusammenhang überhaupt nicht verwendet werden sollte?