Re[2]: Как узнать была ли переопредена фунция?
От: Andy_sh  
Дата: 15.09.10 09:07
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Andy_sh, Вы писали:



A_>>Непонятен один момент: как определить что функция fn2 не была переопределена, т.е. вызывать ее не нужно и не нужны подготовительные операции.

A_>>Рассматривал вариант с указателем на член класса, но, как выяснилось, сравнивать такие указали нет возможности.
A_>>Может есть красивый вариант решения задачи или я все усложняю?

E>А что именно нужно? Гарантировать, что функция переопределена? Или делать какое-то специфическое поведение, в случае если не переопределена?


E>Если первое, то надо делать функцию чистовиртуальной.

E>Если второе, то надо в версии функции в базе делать это специфическое поведение...

Если функция не переопределена, то вызвать ее не нужно (в базовом классе она является заглушкой). Кроме того, вызову функции могут предшествовать некие действия, как вычисление аргумента, а если функция не переопределена, то и вычисления не нужны.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.