![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| HELPER |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 18.4.2005 Репутация: -2 Всего: -2 |
Народ, хелп!, как написать свой собственный h файл, что б короче потом в инклуде писать:
или хотяб ссылки по теме plz! |
|||
|
||||
| Step |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
хедер содержит перечень объектов и объявления функций
например my.h
а теперь my.cpp
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
||||
|
|||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
Во первых если пишеш свои заголовочные файлы, то надо(желательно) их вксючать не <myheader.h> а "myheader.h", а делаются они так:
#ifndef MYHEADER_H #define MYHEADER_H Ну а тут пишеш чё душе угодно(прототипы функций, объябления класса(ов)) и сохраняеш его как *.h #endif Потом создаёш файл с таким же названием только расширение *.cpp пишешь #icnlude "myheader.h", ну и описывай что там(*.h) наопределял Добавлено @ 14:55 Кстати описываниефайлов без директив препроцессора, считается плохим тоном программирования, т.к незащищает от повторного включения файлов в программу. -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| maxim1000 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
а вот так писать очень нехорошо #include'ом монжо подключать любую информацию, чтобы не писать ее в каждом файле однако, есть соглашение, что при написании модуля программы пишется так же h-файл, который сообщает перечень объектов в модуле поэтому все, что написано в h-файле должно (конечно, никто не запрещает, но очень рекомендуется) носить чисто декларативный характер это означает: 1. макросы 2. объявления функций (с ; вместо тела) 3. типы там всякие (в том числе и классы) 4. объявления глобальных переменных, т.е. что-то вроде этого
как только в h-файле будет описано создание какого-то объекта (переменная без extern или функция с {...}), это будет означать, что этот объект будет создан в каждом модуле, который подключил этот h-файл, заново, что может привести либо к конфликтам имен при линковании, либо к некорректной работе потом (когда в рзаных файлах под переменной a будут пониматься разные ячейки памяти) -------------------- qqq |
||||
|
|||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Кстати давно хотел спросить...
Что конкретно обозначает макрокоманда #pragma once ? |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Создай файл .h и добавь в проект
То что хидер будет пропарсен только один раз, если не ошибаюсь. --------------------
|
||||
|
|||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
это альтернатива комбинации #ifndef #define ... #endif для майкрософтовских компиляторов -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| AISIN |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 27.1.2005 Где: Пушкино Репутация: нет Всего: 1 |
pablo тут надо уточнить если файл в одном коталоге что и компилируемый файл .*сpp то пишем #include" myheader.h",а если в разных то #include "c:\labmyheader.h",т.е. нужно полный путь прописывать!
--------------------
Внимание!!! Внимание!!!Запущена программа по завоеванию мира!!!Выполненно 0,000000000000000000000000000000000000000000000000000002% |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
Конечно, но если его к стандарным файлалм запихнуть то можно и #include <myfile.h> прописать
-------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| AISIN |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 27.1.2005 Где: Пушкино Репутация: нет Всего: 1 |
pablo Обсалютно с тобой согласен!
Это сообщение отредактировал(а) AISIN - 27.4.2005, 17:59 --------------------
Внимание!!! Внимание!!!Запущена программа по завоеванию мира!!!Выполненно 0,000000000000000000000000000000000000000000000000000002% |
|||
|
||||
| Just_Girl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Привет, у меня вопрос по поводу header files. Please help кто может!
Вот код моего header fila: Bank.h
Как провести инициализацию saldo в Bank.h, чтобы использовать его в других файлах? Или мне ет надо делать не в Bank.h, а в Bank.c??? |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
struct_Rekening - тип данных, т.е. в программе могут быть несколько переменных такого типа, у каждой будет поле saldo
так что возникает вопрос: о каком именно saldo идёт речь? P.S. ещё вопрос: C или C++? -------------------- qqq |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Just_Girl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Речь идёт не о C++, а о C. Мне надо синициализировать saldo, например saldo = 200, чтобы с другово файла смочь его употребить.
Например: bank_automaat.c
Но глобальная инитиализация saldo не получается, поетому может ет можно в structe как-то сделать??? И ещё один вопрос, какую роль играют extern, static и void в C? Когда что употреблять? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |