A type conversion in object-oriented programming where an object of a subclass is treated as an object of its superclass, often used implicitly in polymorphic code to enable abstraction and dynamic behavior.
"Upcasting allows treating a derived class object as a base class object in C++."