![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
sidd |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 7.10.2006 Где: Киев Репутация: нет Всего: нет |
Есть программа, состоящая из нескольких классов, которые находятся между с собой в состоянии агрегации. Хочу сделать, чтоб каждый класс был в отдельном файле. Но так, как я думал, не выходит.
Вот, к примеру, программа с одним классом. Я создаю три файла: main.h:
foo.cpp:
main.cpp:
И вот такой makefile:
При компиляции говорит, что Foo неопределен. Попробовал в заголовочный файл добавить прототип класса Foo, но тоже какую-то ошибку выдает. Помогите, пожалуйста, разобраться. Давно уже мучаюсь с раздельной компиляцией. |
||||||||
|
|||||||||
DEM90 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.2.2009 Репутация: нет Всего: нет |
А где
? ;) |
|||
|
||||
toxx |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Если правильно понял то мб определение класса в .h файл записать
а методы класса в .cpp файл например
Это сообщение отредактировал(а) toxx - 16.4.2010, 00:42 |
||||||
|
|||||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
toxx, да, можно, но незабывать надо что #pragma once или набор из #ifdef + #define надо (гугл нагуглит я думаю, если нет, то расскажем)
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
jonie
да надо, не спорю=) |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 4 Всего: 459 |
Компиляция или линковка? Для компиляции достаточно определения класса (подключения заголовков). Результат компиляции это объектный файл. Но если производиться и линковка, то нужна полная реализация (т.е. в не необходимые объектные файлы) -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
sidd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 7.10.2006 Где: Киев Репутация: нет Всего: нет |
toxx, спасибо. То, что хотел
![]() |
|||
|
||||
htzg |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.4.2010 Репутация: нет Всего: нет |
можно так как сказал toxx.
Можно и include в файл с main-функцией только адрес правильно укажите и кавычки "", а не <> Пример: main.cpp находится в С:\Programm\Project foo.cpp в C:\Programm Первый вариант:
Второй вариант:
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |