Когда вы узнаете о полиморфизме, вы обычно видите что-то вроде этого
class Base { int prv_member; virtual void fn(){} }
class Derived : Base { int more_data; virtual void fn(){} }
Что такое upcasting или downcasting? Является (Derived*)base_ptr;
ли upcast или downcast?
Я называю это унылым, потому что вы уходите с базы во что-то более конкретное. Другие люди говорили мне, что это уныло, потому что вы идете вниз по иерархии к чему-то конкретному, а вершина является корнем. Но другие люди, кажется, называют это так, как я это называю.
При преобразовании базового ptr в производный ptr это называется upcasting или downcasting? и если кто-то может сослаться на официальный источник или объяснить, почему его так называют, чем здорово.
virtual
ненужно, но не «больно». Можете ли вы уточнить, почему вы считаете, что его вообще не следует использовать в этом контексте?