ООП в с++
У меня в файле class1.cpp создан класс к примеру:
Код:
class ad Код:
void main() Цитата:
И еще вопрос: в коде мангоса я замечал такую конструкцию к примеру: Код:
Master::Master() |
Цитата:
|
Цитата:
? |
Если написать функцию в файле class1.cpp вне класса и вней создать такую переменную, то компилятор компилирует. А как создать эту переменную в в другом .cpp файле?
в файле class1.cpp Цитата:
Цитата:
Код:
class ad; так что тут все правильно походу. Файлы .cpp нельзя инклудить, так как они не являются заглавными. p.s. пойду ка я пока покурю книгу... почитав книгу нечего такого не нашел, как же все таки реализовать Код:
ad g; |
Цитата:
|
Цитата:
|
Цитата:
|
Лучше будет описать класс ad в .h файле. И проблема сама решится с инклудом .cpp файла.
|
Цитата:
Именно с таким подходом по-умолчанию работает gcc, под этот режим пишутся Makefile-ы, так Visual Studio с незапамятных времён автоматически выбирает дефолтные роли файлов в проекте. Однако объединённые силы языка С (или С++) и компилятора позволят вам «выстрелить в ногу» — сделать всё по-своему и сказать, что компилировать ваш любимый компилятор будет один файл cc.entry, а в этом файле будут #include-ы всех остальных файлов проекта, какое бы они расширение ни имели. Иногда такой подход имеет место быть. Безобидным примером использования является система быстрой компиляции, ускоряющая этот длительный процесс за счёт снижения количества чтения этих самых заголовочных файлов. Согласно методике, в одном-единственном на весь проект компилируемом файле содержатся #include-ы всех других файлов проекта, подлежащих компиляции на текущем языке программирования. Достаточно хаковым, но, тем не менее, существующим методом «быстрой» статической линковки с отдельными символами библиотеки с открытым исходным кодом является #include *.c* файла библиотеки. Но, опять же, я настоятельно рекомендую не прибегать к таким ухищрениям. |
Текущее время: 11:35. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS