我嘗試使用C++在單獨的文件中放置一個類,但沒有包含它不工作的.cpp文件。在單獨的文件中放置一個類無法正常工作[C++]
這是類實例
//Example.cpp
#include "Example.h"
#include<iostream>
using namespace std;
Example::Example()
{
cout<<"I am am Executed\n";
}
CPP文件這是頭文件
//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文件工作,但它不會......
您需要編譯兩個源文件,並將它們鏈接在一起的鏈接器拋出一個錯誤。請向我們展示您用於構建程序的命令。 – 2013-03-08 18:22:31