12.1. Why Is RTTI Necessary?
Suppose a class library contains an Investment class with a virtual purchase() function.
class Investment { // Library class private: . . . public: virtual float purchase(); . . . };
Our application requires Stock and Land objects, so we create the following classes as subtypes of Investment to reuse code from the class library.
class Stock : public Investment { // our class public: float purchase(); // override virtual purchase() virtual float dividend() const; // new virtual function }; class Land : public Investment { // our class public: float purchase(); // override virtual purchase() };
The Stock class and the Land class override purchase() from the Investment base class. Consequently, calls to purchase() ...
Get Navigating C++ and Object-Oriented Design now with O’Reilly online learning.
O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.