Здравствуйте, zelenprog, Вы писали:
Z>Добрый день!
Z>Есть среда программирования, которая не в полной мере поддерживает ООП. Z>В ней можно создавать и наследовать классы, но нету возможности использовать виртуальную функцию. Z>Если в базовом классе вызвать виртуальную функцию, то даже если она переопределена в классе-наследние, все равно будет вызвана функция базового класса.
Z>Чем можно заменить виртуальные функции в данном случае? Z>Виртуальные функции очень нужны.
Z>Грубый пример. Есть базовый класс, который читает данные из БД. Z>Создается несколько наследников, которые переопределяют функцию чтения из БД. Z>Затем создаются несколько экземпляров этих наследников, указатели на них сохраняются в массиве. Z>Затем в цикле по массиву нужно вызвать функцию чтения. Z>Как это сделать без виртуальных функций?
Если это скриптовый язык с динамической типизацией, который позволяет в массив складывать объекты разных типов
то
Попробуйте обойтись без наследования вовсе. Просто отдельные классы, в которых есть метод с одинаковым именем и набором параметров.
Обычные не виртуальные методы.