![]() |
Помогите, плиз, вынести классы в отдельные файлы.
Сабж. Сейчас программа выглядит так:
Код:
//virtual.h Код:
//virtual.cpp Код:
//One.h Код:
//One.cpp Код:
//Two.h Код:
//Two.cpp Код:
//Three.h Код:
//Three.cpp Код:
//virtual.cpp P.S: Использую Visual Studio 2010. |
Проблема решена. Для этого потребовалось сделать следующее:
1) В файлах Two.h и Three.h заменил инклюд файла One.h на объявление: class One; 2) Учел особенности работы Visual Studio; проинклюдил все свои заголовочные файлы и файл iostream в файле stdafx.h, а из своих cpp-файлов эти инклюды убрал, заменив на инклюд stdafx.h. |
ещё бы хотелось узнать какие именно ошибки лезут. Если о том, что классы уже определены, то:
сборка программы на с/с++ состоит из 3х этапов: 1. препроцессинг, 2. комлиляция 3. связывание (linking). На певом этапе: 1. весь текст собираемого модуля сливается в один файл (#include) в одну строчку 2. выполняются директивы препроцессора по замене текста #define 3. удаляются комментарии 4. раскрываются так называемые триграфы 5. соединяются строчные константы, разделённые пробелами "sd\nfds" "123" -> "sd<код символа \n>fds123" допустим есть 3 файла: Код:
1.h: Код:
int a; Код:
1.h: Сделай то же самое, и у тебя заработает |
pva
Цитата:
|
pva, Красиво объяснил. :up: Я так писал всегда, просто потому что в книге написано было именно так и без пояснений почему так. :)
Цитата:
|
Время: 16:45. |
Время: 16:45.
© OSzone.net 2001-