Я писал на C++ в последнее время, и меня путают с .cpp
vs .h
- когда их использовать и что им нужно делать. Я читал, что вы должны поместить определения функций в отдельный файл .cpp
, а заголовки должны использоваться для объявлений, но как использовать отдельный файл .cpp
? Do I #include
это или что? Я ищу разъяснения на .h
и .cpp
и что должно идти, где и как включать отдельные файлы .cpp
..cpp vs .h и где я должен помещать определения функций
ответ
Вы должны использовать .h файл для прототипа функции и тип данных декларации, а также для предпроцессорных директив и .cpp-файлов для определений. Например, test.h
может выглядеть
#define CONSTANT 123 // pre-processor directive
void myfunction(char* str);
и ваш test.cpp
может выглядеть
#include <stdio.h>
#include "test.h"
int main(int argc char **argv)
{
myfunction("Hello World");
return 0;
}
void myfunction (char* str)
{
printf("%s and constant %d", str, CONSTANT);
return;
}
Возможно, вы захотите упомянуть 'inline'-функции (как неявные, так и явные) и' template '. – Deduplicator
Обычно объявление класса переходит в заголовочный файл (.h), а реализация идет в .cpp-файле.
Вы заголовочный файл в файле CPP, поэтому все функции будут признаны, и вы должны помнить, чтобы использовать #ifndef в заголовочном файле, чтобы избежать ошибок (включает в себя петлю)
- 1. Как мне настроить мою программу на C++? (где я должен помещать файлы .h и .cpp?)
- 2. Где я должен помещать коды?
- 3. PHP: где я должен помещать свои включенные?
- 4. VS 2012: Сортировка .CPP/.H файлов
- 5. Должен ли я отделить файлы cpp и h на C++?
- 6. Где я должен помещать этот код?
- 7. Где я должен помещать свои файлы css?
- 8. MAGENTO - Где я должен помещать файлы SWF?
- 9. Где я должен помещать index.jsp использовать tomcat?
- 10. Где я должен помещать этот код?
- 11. Должен ли я разделить свои файлы на объявления (.h) и определения (.cpp)
- 12. Где я должен помещать gradle.properties в Jenkins
- 13. django: где я должен помещать каталог загрузки
- 14. Visual Studio отдельные файлы .h и .cpp для набора функций
- 15. Должен ли я помещать эти функции в автономный файл .h?
- 16. Автоматически разбивать (рефакторинг) .h на заголовок и реализацию (h + cpp)
- 17. Определение метода функции в .cpp vs .h
- 18. Где я должен помещать код, который должен срабатывать ПОСЛЕ загрузки?
- 19. Где я должен помещать список UserControls и не прерывать MVVM?
- 20. Где я должен помещать `header` и` data` в Http_client.Convenience.http_post?
- 21. Где я должен помещать эти пользовательские разрешения в django?
- 22. #ifdefs в .cpp и .h файлах
- 23. Где я должен включать заголовочные файлы, в .cpp или в .h-файл?
- 24. CPP - Включая файлы .h и .cpp файлы в .cpp-файл
- 25. Способы размещения в файлах .h и .cpp
- 26. Вектор определение в .h и .cpp файл
- 27. Где я должен помещать эти поля в модель MVC?
- 28. ZF2 - Где я должен помещать свои файлы include?
- 29. где я должен помещать данные json внутри android
- 30. Где я должен помещать фоновые изображения в разные экраны?
вы имеете в виду обычные функции или шаблоны? – wimh
См. Также [код C++ в файлах заголовков] (http://stackoverflow.com/questions/583255/c-code-in-header-files/) и [Разделение кода в заголовки/исходные файлы] (http: // stackoverflow.com/questions/2584856/splitting-code-into-headers-source-files) и [Почему у файлов заголовков и '.cpp' файлы на C++] (http://stackoverflow.com/questions/333889/why -У-заголовок-файлы-и-CPP-файлы-в-с). –