Конгер Д.
Физика для разработчиков компьютерных игр
стр. 482

Эта программа показывает, что в одной и той же функции можно использовать и родительский класс, и класс-потомок. В функции main() объявлены переменные типов point и point_3d. В строках 10-11 программа использует переменную point_3d для вызова методов X () и У () класса point. В строке 12 точно таким же образом вызывается метод Z () класса point_3d.

Переопределение функций

Функция в классе-потомке может иметь такое же имя, как и функция в родительском классе. Если мы создаем такие функции, то говорим, что мы переопределяем функции родительского класса.

Например, предположим, что мы создали класс саг, в котором есть метод Update (). Предположим, что у нас такясе есть класс sports_car, в котором тоже есть метод Update (). Класс sports_car является потомком класса саг. Если метод Update () вызывается для переменной типа sports_car, то программа будет вызывать метод класса sports_car. При этом метод Update () класса саг вызываться не будет.

Если класс-потомок должен расширять возможности родительского класса, то в нем часто переопределяются методы родительского класса. При этом в методах класса-потомка часто вызываются переопределяемые методы родительского класса. Например, метод Update () класса sports_ саг может содержать вызов метода Update () класса саг и выполнять ка-кие-то операции, которые не выполняются в методе класса саг.

Если вы хотите вызвать переопределенный метод родительского класса для объекта производного класса, то это нужно делать с помощью операции расширения области видимости.



Новости
Список персонажей SoulCalibur 6 пополнил Вольдо
В Сети появился новый трейлер SoulCalibur 6, посвящённый Вольдо — он пополнил список персонажей, которые будут доступны в день релиза игры.
Анонсирован скорый выход обновления «Ночная жизнь» в GTA Online
Компания Rockstar представила трейлер обновления «Ночная жизнь» для GTA Online.