![]() |
|
|
![]()
|
|
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Стоит задача - написать класс обертку (wrapper) для работы с виндовозным окном. Выскажите свои "за" и "против" по следующему вопросу. Функцию обработки сообщений окна (WindowProc) следует сделать
1) Статической и получать доступ к членам класса, например так:
2) Другом класса Всем заранее спасибо за высказанные мысли. -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Royan
А ты попробуй сделать статической -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Попробую привести пример смысла статической функции
В зависимости от назначения твоего приложения могут быть ситуации, когда объекты одного и того же класса должны совместно использовать один или несколько элементов данных. Для совместного использования элемента класса ты должен объявить этот элемент как static,правильно? Со статиком у нас работает кто?Правильно-статическая функция Теперь прикинь будет ли у тебя переменная(ные),которая потребуется разным классам. А так из твоего кода я ничего не понял,будет ли такие(ая) переменая....Так что тебе решать -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Да,забыл сказать некто Майерс,если не ошибаюсь,проводил иследование.Так вот оказалось,
что дружественные функции могут улучшать инкапсуляцию класса! дружественная функция лежит вне области видимости класса,но она фактически является элементом его интерфейса. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
2Coocky Я не случайно спросил, сейчас у меня все работает при статической WindowProc
А где случаем не помнишь ты Майерса читал? -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 165 |
А в чём проблема поместить функцию в небольшой функтор чтобы не терять связи с классом?
Effective C++ Effective STL Здесь, #6 и #16. Класные кстати книги. Это сообщение отредактировал(а) chipset - 28.3.2005, 21:27 --------------------
|
||||
|
|||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
chipset
Чип а можно без ругательств.Переведи,плиз -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 165 |
Фигня такая, чтобы передавать указатели на отдельные методы классов, передается линк на обьект класса который будет заюзывать функция. Таким образом можно передавать статической функции линку на обьект класса, чтобы она его использовала вместо this. Это сообщение отредактировал(а) chipset - 28.3.2005, 21:42 --------------------
|
||||
|
|||||
| Coocky |
|
||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
chipset
Еще раз повторяю-чел создает свой класс.класс глобальный и обьемный.Нет большого смысла в статике.Есть больший смысл в дружественной функции.
Приведи мне смысл этого для примера Royan_а Дружище-это не спор,это попытка получить истину.Парень правильно задал вопрос.Действительно при разработке ООП мы мало уделяем мелочам.Удобности и универсальности.... Добавлено @ 21:47
А это уже почти самый верх иерархии -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
||||
|
|||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 165 |
Тогда я целиком за статическую функцию. Должно быть как можно меньше функций не в классах.
Это сообщение отредактировал(а) chipset - 28.3.2005, 22:16 --------------------
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |