Chapter 29
Are Virtual Functions for Real?
In This Chapter
Overriding between functions that are members of a class
Introducing virtual member functions
Binding early versus binding late
Declaring your destructor virtual — when and when not to do it
Inheritance gives users the ability to describe one class in terms of another. Just as important, it highlights the relationship between classes. I describe a duck as “a bird that …”, and that description points out the relationship between duck and bird. From a C++ standpoint, however, a piece of the puzzle is still missing.
You have probably noticed this, but a microwave oven looks nothing like a conventional oven and nor does it work the same internally. Nevertheless, when I say “cook,” I don’t want to worry about the details of how each oven works internally. This chapter describes this problem in C++ terms and then goes on to describe the solution as well.
Overriding Member Functions
It has always been possible to overload a member function with another member function in the same class, as long as the arguments differ:
class ...
Get Beginning Programming with C++ For Dummies, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.