Форум программистов, компьютерный форум CyberForum.ru

Как лучше реализовать кнопку? - C++

Восстановить пароль Регистрация
 
romex
 Аватар для romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
03.10.2012, 11:25     Как лучше реализовать кнопку? #1
Здравствуйте!
Я вижу два решения:
1)Создать класс button с указателем на функцию clickEvent, и каждому объекту присваивать ее отдельно.
2)Или создать базовый класс с виртуальной функцией clickEvent и под каждую кнопку создавать новый класс-наследник.

Не могу определиться. Мне не нравятся оба варианта.

Как вообще принято создавать кнопки в лучших домах?
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.10.2012, 11:47     Как лучше реализовать кнопку? #2
А если понадобится динамически менять назначение кнопки в зависимости от других событий, например, как это сделано на калькуляторах с кнопкой F? Поменять на ходу класс существующего объекта вряд ли получится, а заменить указатель на обработчик - раз плюнуть.
romex
 Аватар для romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
03.10.2012, 12:00  [ТС]     Как лучше реализовать кнопку? #3
Цитата Сообщение от taras atavin Посмотреть сообщение
А если понадобится динамически менять назначение кнопки в зависимости от других событий, например, как это сделано на калькуляторах с кнопкой F? Поменять на ходу класс существующего объекта вряд ли получится, а заменить указатель на обработчик - раз плюнуть.
dynamic_cast не поможет?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.10.2012, 12:04     Как лучше реализовать кнопку? #4
C++
1
TButton1 b1=(dynamic_cast)<TButton1>(b2);
создаст новую кнопку другого типа. При чём здесь старая?
romex
 Аватар для romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
03.10.2012, 12:13  [ТС]     Как лучше реализовать кнопку? #5
C++
1
TButton1 * b1=(dynamic_cast)<TButton1*>(b2);
Я про это.

Не по теме:

я не спорю, я спрашиваю

taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.10.2012, 12:14     Как лучше реализовать кнопку? #6
Какая разница? Старая то кнопка тип не меняет.
romex
 Аватар для romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
03.10.2012, 12:24  [ТС]     Как лучше реализовать кнопку? #7
Цитата Сообщение от taras atavin Посмотреть сообщение
Какая разница? Старая то кнопка тип не меняет.
Если обработчик нажатий кнопок будет хранить указатели на кнопки, можно в нем изменить тип указателя с b1 на b2.
Впрочем это лишняя морока, и потенциальных ошибок больше, чем в варианте с указателем на функцию.

А еще есть варианты реализации кнопки?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 12:29     Как лучше реализовать кнопку?
Еще ссылки по теме:

C++ Как лучше реализовать структуру класса?
Как лучше сохранять данные C++
C++ Как лучше сравнить?
Как лучше реализовать конфиг? C++
C++ Как лучше всего реализовать настройки в программе?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.10.2012, 12:29     Как лучше реализовать кнопку? #8
И почему это стоматологи ни когда пациентов от зубов не отрывают?
Yandex
Объявления
03.10.2012, 12:29     Как лучше реализовать кнопку?
Ответ Создать тему
Опции темы

Текущее время: 07:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru