 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| • |
Specifying
the keyword virtual for any base class member
|
|
|
function
enables dynamic binding for that function.
|
|
|
| • |
Any
derived class can override that function by defining a
|
|
|
|
function
with the same signature and return type.
|
|
|
| • |
The
keyword virtual does not need to be re-specified within
|
|
|
the
derived class.
|
|
|
| • |
Once
a member function is declared to be virtual in a base
|
|
|
|
class,
all functions with that name, signature, and return
|
|
|
|
type
in any derived class remain virtual and can be
|
|
|
overridden.
|
|