C++ Resources

Updated on Nov 1  2020



C++OOPPolymorphism

Deborah R. Fowler



OOP Polymorphism for C++  

Posted on Oct 19  2019
Updated Oct 20  2019
 
This section assumes you have read the basics of OOP for C++pointers, inheritance and splitting files.


POLYMORPHISM

Polymorphism is the ability to have the program determine which operation you want to use based on what the object type is. In particular the type of data being "pointed" to. We will describe pointers below. This leads to more elegant code.

The classic example is that of a Polygon, Triangle and Rectangle. The Polygon will be the base class, the Triangle and Rectangle child classes. Area will be a function that is define by all three. The pointer to the instance will be used to determine what area function to call. Here let's move forward with Phone, Mobile and Landline.

By using the term virtual in the base class, it indicates that there will be functions with the same name in the derived classes.

MISSING IMAGEMISSING IMAGE

Further, if we set any virtual function in the base class to be equal to zero, the base class will be uninstantiable and is referred to as a abstract class.

MISSING IMAGE
The function is now called a pure virtual function. Phone is not instantiable but Mobile and Landline are.