| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как сделать красиво? :) - Повторный вызов функции |
| Автор: Ostap 15.2.2006, 22:58 | ||
Подскажите как сделать "красиво"
Т.е. происходит повторный вызов одной и той же функции и мне не нравится что различие между переменными происходит в условном операторе. Можно конечно вообще сделать две функции, но мне кажется это еще хуже. Интуитивно кажется, что можно сделать как-то лучше. |
| Автор: DeadSoul 15.2.2006, 23:05 |
| Ostap, в чем выражается "разница". Т.е. что различно при разных count? Например, в случае сортировки могут быть разные методы сравнения двух величин |
| Автор: bel_nikita 16.2.2006, 00:57 | ||
|
| Автор: np9mi7 16.2.2006, 01:20 | ||
Ostap, когда тебе известно, что count == 1 или count == 2? Можно завернуть всё это дело в тип и попробывать виртуальные методы.
ps: bel_nikita а у меня if - а нет.... :-) |
| Автор: Ostap 16.2.2006, 11:26 |
| np9mi7, если не сотсавит труде не мог бы прокоментировать свой код |
| Автор: MAKCim 16.2.2006, 18:05 | ||||
| могу я есть абстрактный класс __somename, в котором один чисто виртуальный метод, который в различных реализациях возвращает разный double __one и __two - реализации __somename, оба они наследуют невиртуальный calculate который вызывает замещенные виртуальные методы __one и __two, тем самым устанавливая внутреннюю переменную variable глобальная calculate получает ссылку на базовый класс, вызывает member-function calculate надеюсь понятно объяснил ps. я бы вместо глобальной calculate сделал что-то вроде
и создавал бы так
соответственно для корректности удаления в __somename надо добавить виртуальный деструктор |