Re: Чем заменить виртуальные функции?
От: Nonmanual Worker  
Дата: 14.07.23 13:36
Оценка:
Здравствуйте, zelenprog, Вы писали:

Z>Добрый день!


Z>Есть среда программирования, которая не в полной мере поддерживает ООП.

Z>В ней можно создавать и наследовать классы, но нету возможности использовать виртуальную функцию.
Z>Если в базовом классе вызвать виртуальную функцию, то даже если она переопределена в классе-наследние, все равно будет вызвана функция базового класса.

Z>Чем можно заменить виртуальные функции в данном случае?

Z>Виртуальные функции очень нужны.

Z>Грубый пример. Есть базовый класс, который читает данные из БД.

Z>Создается несколько наследников, которые переопределяют функцию чтения из БД.
Z>Затем создаются несколько экземпляров этих наследников, указатели на них сохраняются в массиве.
Z>Затем в цикле по массиву нужно вызвать функцию чтения.
Z>Как это сделать без виртуальных функций?

Использовать композицию.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.