Я пытаюсь поместить класс в отдельный файл с помощью C++, но не включая файл .cpp, он не работает.Размещение класса в отдельном файле не работает [C++]
Это CPP файла примера Класс
//Example.cpp
#include "Example.h"
#include<iostream>
using namespace std;
Example::Example()
{
cout<<"I am am Executed\n";
}
Это заголовочный файл
//Example.h
#ifndef EXAMPLE_H
#define EXAMPLE_H
class Example
{
public:
Example();
};
#endif
Теперь если я не включить файл C++ в моей основной функции файл он выдает ошибку
#include "Example.h"
//#include "Example.cpp"
#include<iostream>
using namespace std;
int main()
{
Example aak;
return 0;
}
Так вот я закомментировал // # включить "Example.cpp", это дало бы мне ошибку о том, что
/tmp/ccuHMRJB.o: In function `main':
main.cpp:(.text+0x10): undefined reference to `Example::Example()'
collect2: ld returned 1 exit status
Однако если я раскомментируйте #include «Example.cpp» он работает просто отлично! Давая мне выход
Выполнено!
Я не понимаю, почему мне нужно включить оба файла (.h, а также .cpp) для выполнения программы. До тех пор, пока я думаю, что это должно работать, включая файл .h, но это не так.
Вы должны собрать как исходные файлы и связать их вместе. Пожалуйста, покажите нам команды, которые вы использовали для создания вашей программы. –