Как структурировать проект в Visual C ++ 2008 Express - PullRequest
0 голосов
/ 06 февраля 2010

Я впервые использую Visual C ++ 2008 Express для проекта. И я не могу разделить файлы .h & .cpp для классов, которые я пишу. У меня сложилось впечатление, что вы добавляете заголовочный файл и создаете там прототип, а затем добавляете файл .cpp с реализацией в каталог исходных файлов. Затем, когда вы включаете .h, он автоматически включает файлы реализации .cpp. Это правильно или я что-то упустил?

Ответы [ 2 ]

1 голос
/ 06 февраля 2010

Не уверен, что это так же, как в версии Express. Но вы также можете добавить новый класс C ++ с заголовком (.h) и источником (.cpp) одновременно, щелкнув правой кнопкой мыши по проекту -> Add -> Class ...

Включение файла .h с использованием #include не означает, что фактическая реализация (в другом файле .cpp) также включена в ваш исходный файл. Содержимое файла .h, являющегося прототипами классов и методов, включено только. Эти прототипы позволяют использовать классы, объявленные в заголовочном файле (без включения реального кода C ++.)

Каждый исходный файл (.cpp) сначала компилируется в объектные файлы. Все эти объектные файлы затем связываются вместе, чтобы создать один исполняемый файл. Ссылочные символы в каждом объектном файле фактически связаны с их реализацией во время этого процесса связывания (http://www.cprogramming.com/compilingandlinking.html)

0 голосов
/ 06 февраля 2010

Я не помню правил, но иногда в среде IDE предполагается, что вы помещаете весь свой код в заголовочный файл. Это законно, но не является общим предпочтением.

...