якщо
перевизначається віртуальний метод,
то заголовок перевизначуваного
методу
не може бути змінений; повинні залишитися
незмінними: кількість,
послідовність і типи формальних
параметрів в однойменних
віртуальних
методах. Якщо цей метод - функція, то
не повинен змінюватися і тип результату.
При порушенні цього правила компілятор
видасть повідомлення:
131:
Header
does
not
match
previous
definition
- заголовок
не відповідає попередньому визначенню;
|
у
описі об'єкту, що має віртуальні методи,
обов'язковий -
конструктор.
Він
встановлює роботу механізму віртуальних
методів. Виклик віртуального методу
без попереднього виклику конструктора
може привести
до тупикового стану. Щоб уникнути
цього, на період відладки
треба
включити директиву компілятора {$R+};
кожен
екземпляр об'єкту повинен ініціалізуватися
окремим викликом конструктора;
кількість
конструкторів може бути будь-яким;
конструктор
повинен бути статичним і може бути
перевизначений.