Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_07_Простое наследование.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
120.32 Кб
Скачать

Переопределение и вызов членов базового класса

В производном классе обычно добавляются новые члены к членам базового класса. Однако существует также возможность переопределения (или замещения) членов базового класса. Обычно используется переопределение функций-членов базового класса. Чтобы переопределить функцию-член базового класса в производном классе, достаточно включить ее прототип в объявление этого класса и затем дать ее определение. Прототипы переопределяемой функции в базовом и производном классах должны совпадать.

Иногда возникает необходимость вызвать функцию-член базового класса, а не ее переопределенный вариант, это можно сделать с помощью операции разрешения области видимости, применяемой в форме: <имя_класса>::<имя_члена>

Это дает возможность компилятору "видеть" за пределами текущей области видимости. Особенно часто это приходится делать при переопределении функций-членов. Переопределяемая функция-член может вызывать соответствующую функцию-член базового класса, а затем выполнять некоторую дополнительную работу (или наоборот).

В приведённом выше классе Dot была переопределена функция Print(). Тело функции содержит операторы, которые выводят на экран заголовок "Координаты точки " и имя точки. Далее вызывается функция Print(), которая является членом родительского класса Coord, с помощью оператора: Coord::Print();

Член родительского класса Coord функция Print() выводит на экран в той же строке координаты точки. В результате на экране появится, например, следующий текст:

Координаты точки A: x=4 y=5

9

.