|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||||||||||||||
определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер?17.06.2011, 19:36. Показов 10109. Ответов 15
Метки нет (Все метки)
Сабж, а подробнее если в заголовочном файле hider.h описана функция, допустим так:
Так, а прототип функции должен остаться ПРЕЖНИМ [CPP]void f ();/CPP] Так, вот пользователь хидера должен сам определять пользоваться ли ему стандартной функцией f:
0
|
|||||||||||||||||||||
| 17.06.2011, 19:36 | |
|
Ответы с готовыми решениями:
15
В каком заголовочном файле находятся функции Sleep() и delay() и как правильно их использовать? Функции в заголовочном файле |
|
15 / 15 / 1
Регистрация: 21.12.2010
Сообщений: 55
|
|
| 17.06.2011, 19:43 | |
|
Хотелось бы взглянуть на то, что вы хотите сделать в оригинале, так как пример, который привели вы, решается, например, параметризацией функции.
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 17.06.2011, 19:54 | |
|
не инклудить хедер, хотя все одно быдлокод
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 17.06.2011, 20:24 [ТС] | ||
|
Ну да, можно определить свой тип и пусть функция с ним работает. Но понимаете, я хочу свой код кинуть в люди и хочу упростить жизнь конечному пользователю, чтобы он не связывался с шаблонами и не определял свой тип, а просто переписал функцию и всё.
0
|
||
|
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
|
| 17.06.2011, 20:43 | |
|
тебе чё нужны две функции f содинаковыми параметрами но выполняющими разную работу? в данном случае это возможно, просто в хидере заключи в неймспейс и обращайся к ней header::f()
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.06.2011, 21:07 [ТС] | |
|
Вызов тоже осуществляется в хидере, получается, опять хидер править. Грустно, я-то разберусь, а вот челы нет.
0
|
|
|
Higher
|
||||||||||||
| 17.06.2011, 21:08 | ||||||||||||
Можно наоборот, если не поставить макрос, то будет работать из хедера. Для этого нужно #ifdef заменить на #ifndef
1
|
||||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.06.2011, 21:19 [ТС] | |
|
спасибо, пойдёт, но с натягом. Это получается в сопроводительной документации я должен указать, что для использования стандартной функции f(); необходимо помимо включения заголовочного файла в главном определить переменную //#define _USE_FUNC
Коряво. Ну, я наверное, многого хочу. Наверное, заставлю пользователя определять собственные типы чтобы воспользоваться шаблонами функции, тут надо подумать будет ещё.
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||
| 17.06.2011, 21:53 | ||
![]() Открываем MSDN и читаем: чтобы использовать стандартные математические константы, надо определить имечко #define _USE_MATH_DEFINES
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.06.2011, 21:55 [ТС] | |
|
Не мне, а конечному пользователю моего проекта.
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 17.06.2011, 22:01 | |
|
kravam, дык мы ж с тобой - конечные пользователи продукта Микрософт! Нам и приходится использовать определенную ими константу.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.06.2011, 22:59 [ТС] | |
|
Так, алё, какая константа?
У меня нет никакой константы определённой мелкомягкими. Конечный пользователь- это не я, это чел, который будет использовать мой хидер. И чем меньше он будет делать движений, тем лучше Не по теме: Какой Багдад? Какая война?
0
|
|
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 17.06.2011, 23:07 | |
|
Ну а что ещё предложить? Ну есть ещё дедовский проверенный способ — callback-функции.
Пусть пользователь определяет какую хочет функцию и регистрирует её вызовом set_my_own_callback_function(my_func) Ну а не определит — будет использоваться функция по-умолчанию.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 17.06.2011, 23:22 [ТС] | ||||||
|
Нельзя ли код? Дело в том, что функция, которую я кропаю и есть callback и она вызывается в хидере так:
Вот я засомневался, а у меня функция ли обратного вызова? Ну да, её имя передаётся параметром в другую функцию и оттуда вызывается. Так ведь?
0
|
||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 17.06.2011, 23:29 | |
|
почему вообще в хедере определена функция?
1
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.06.2011, 23:50 [ТС] | |
|
потому что в хидере определён класс вместе с функцией, без которой он теряет смысл; класс следует определить в хидере и функцию там же.
Я могу, конечно, определить их в файлах кода, но что я скажу человеку, который будет их использовать? Вот тебе отдельно заголовочный файл, а вот файл реализации? Нет, со мной так не поступали; я скачал из инета класс Verylong, и реализованный и объявленный в одном хидере и очень этому рад, подключаю один хидер и не жужжу. Меньше движений.
0
|
|
| 17.06.2011, 23:50 | |
|
Помогаю со студенческими работами здесь
16
Из функции в заголовочном файле записать данные в структуру
Функции, которые оперируют с элементами формы в заголовочном файле Как это объяснить правильными словами ? В заголовочном файле я могу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|