Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Проблема с хедерами

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Proger



Зарегистрирован: 18.08.2005
Сообщения: 16

СообщениеДобавлено: Вт Авг 23 2005 00:18    Заголовок сообщения: Проблема с хедерами Ответить с цитатой

Ситуация.
Есть програма (на Visual C++ . NET) к которой подключено 2 *.h файла. В первом (library.h) есть нейкая функция prdw();.
Во втором (Class.h) есть функция которая использует функцию prdw();
Если все так и оставить то при компиляции компилятор выдает ошибку.

А если клас внести в основной исходник, и удальть Class.h, программа компилируется.

Вопрос: возможно ли зделать так чтоб один из хедеров использовал функцию другого?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
McZim



Зарегистрирован: 09.08.2005
Сообщения: 275
Откуда: Omsk

СообщениеДобавлено: Вт Авг 23 2005 04:44    Заголовок сообщения: Ответить с цитатой

Ответ: Возможно, просто в одном *.h инклюдиш другой *.h, только тебе нужно следить за тем что-бы те не инициализировал несколько раз *.h файлы
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DmitryShm



Зарегистрирован: 17.11.2003
Сообщения: 211
Откуда: Казань

СообщениеДобавлено: Вт Авг 23 2005 08:19    Заголовок сообщения: проблемы Ответить с цитатой

Проблемы с хэдэрами быть вообще не должно. Если проблема возникает, то тогда можно думать о том, что есть серьезные проблемы с логическим дизайном приложения. Программируя на С++, нужно думать, что .h и .cpp -- суть один модуль, и что стоит строить этот модуль, как атомарный, всегда готовый к повторному использованию другими программистами. Один хэдер включает другой хэдер только если это включение нужно на уровне интерфейсов, т.е. декларативно. Если функция из другого хэдера нужна только для реализаци, то включай хэдер только в свой .cpp файл. Думай об этом при программировании на С++ и проблем не будет. Не лишним будет прочитать книги Страуструпа и Буча, что добавит уверенности и профессионализма при практике хороших методов программирования.
_________________
love IT
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Вт Авг 23 2005 09:12    Заголовок сообщения: Ответить с цитатой

А я в headerах всегда пишу
Код:
#ifndef MYHEADERFILE
#define MYHEADERFILE

...

#endif

Вот, типа того. Тогда содержимое два и более раз не включается
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...