-
Book Overview & Buying
-
Table Of Contents
Modern C++ Programming Cookbook - Third Edition
By :
As a multi-paradigm programming language, C++ includes support for object-oriented programming. Polymorphism, one of the core principles of object-oriented programming, has two forms in C++: compile-time polymorphism, with function and operator overloading, and runtime-polymorphism, with virtual functions. Virtual functions allow a derived class to override the implementation (of a function) in the base class. In C++20, however, virtual functions are allowed in constant expressions, meaning they can be invoked at compile time. In this recipe, you will learn how that works.
In this recipe, we will use the following structure to represent the dimension of a document and, respectively, an envelope, in the ensuing examples:
struct dimension
{
double width;
double height;
};
You can move runtime polymorphism to the compile time by doing the following: