我正在尝试在不同的文件中编写我的c ++程序,但我似乎无法让它工作。有人能帮助我吗?
separate.cpp
#include "separate.h"
#include <iostream>
void Separate() {
cout << "text";
}
separate.h
#include <string>
using namespace std;
class OneLine {
Separate();
private:
string vari;
};
的main.cpp
#include "separate.cpp"
#include <iostream>
using namespace std;
int main () {
Separate s;
s();
return 0;
}
答案 0 :(得分:3)
两个基本错误:
在separate.cpp
中,您需要
void OneLine::Separate() { /*...*/ }
并在main.cpp
中你想要创建一个你的类型的对象并在其上调用定义的方法,如下所示:
OneLine ol;
ol.Separate();
为此,您需要制作方法public
,更改separate.h
:
class OneLine {
public:
Separate();
//...
};
你想要更改一些这个简单例子不需要的东西,但从长远来看它们将是必要的:
using namespace std;
- 摆脱它并在必要时添加std::
答案 1 :(得分:3)
在您的实现中,将函数定义为:
void OneLine::Separate() {
...
在你的主体中,你需要实例化一个OneLine对象并在其上调用Separate,即:
OneLine o;
o.Separate();
答案 2 :(得分:3)
在您的主文件中,您需要引用"separate.h"
而不是"separate.cpp"
在seperate.cpp
中,类方法需要以类名称为前缀:
void Oneline::Separate()
此外,您应该创建OneLine
类型的对象,而不是Seperate
类型的对象。
所以:
Oneline one;
one.Seperate();