Pure virtual method
|
In object oriented programming, a pure virtual method is a virtual method which has a declaration (a signature), but no definition (implementation). This may be used where it does not make sense to provide a default implementation of a method.
In C++, pure virtual methods only make sense (and are only legal) in an inheritance tree. Classes which have one or more pure virtual methods cannot be instantiated. This is because the compiler would not have any code to execute if the user of the class tried to call a pure virtual method. Thus, in C++, pure virtual methods force deriving classes to implement a piece of functionality to fulfil the pure virtual method.
A real world example may be a class of type account. The designer may decide it to be undesirable to provide a default implementation of a 'Calculate Interest' method, instead leaving the actual implementation to the designers of the derived classes 'Current Account' and 'Savings Account'.