Ιδεατές συναρτήσεις
- Αν σε μια κλάση δηλώσουμε μια συνάρτηση ως virtual τότε οι
υποκλάσεις της κλάσης αυτής μπορούν να αντικαταστήσουν τη συνάρτηση
με μια που θα ορίσουν αυτές.
- Όταν κληθεί η συνάρτηση που έχει αντικατασταθεί από μια υποκλάση
μέσω ενός δείκτη της βασικής κλάσης ο οποίος έχει προέλθει από δείκτη
κάποιας υποκλάσης τότε θα κληθεί η αντίστοιχη συνάρτηση της υποκλάσης
από την οποία έχει προέλθει ο δείκτης.
- Η δυνατότητα αυτή επιτρέπει:
- το δυναμικό καθορισμό της συμπεριφοράς ενός αντικειμένου ανάλογα με
την κλάση του κατά την εκτέλεση του προγράμματος,
- την αλλαγή της συμπεριφοράς μιας παλιάς κλάσης από μια νεώτερη
(υποκλάση της) και
- την ενοποιημένη διαχείριση διαφορετικών αντικειμένων μέσω της βασικής
τους κλάσης.
- Η δυνατότητα αυτή προάγει τη C++ από γλώσσα που υποστηρίζει τα
αντικείμενα σε αντικειμενοστρεφή γλώσσα.