所以这是我的代码:
主要
#include<iostream>
#include "Tclass.h"
#include "Tclass.cpp"
using namespace std;
int main(){
int x = 7;
Tclass object;
cout << object.OFunction();
return 0;
}
标头文件
#ifndef TCLASS_H
#define TCLASS_H
class Tclass
{
public:
Tclass();
int OFunction();
};
#endif // TCLASS_H
C ++样式表(我相信这就是所谓的)
#include "Tclass.h"
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
Tclass::Tclass()
{
cout << "An object for this class has been created \n";
}
int Tclass::OFunction(){
srand(time(0));
return 1+(rand()%6);
}
我的问题是,我听说我不需要在我的代码中包含#include"Tclass.cpp"
但如果没有它,我的代码将无法运行。此外,我从主要删除头文件仍然有效。我相信这个人是正确的,但我根本无法让这个工作。我使用的IDE是code :: blocks。
答案 0 :(得分:1)
您不应该包含cpp文件(并且它不是样式表,它是源文件)您将main.cpp和Tclass.cpp分别编译为目标文件,然后将目标文件链接到一个二进制文件中。
哦,不要使用using namespace std
,不要从教科书中复制代码,教科书中的代码与实际的生产代码有很大不同,教科书中的代码应该是简洁的,只显示具体的手头的话题。
答案 1 :(得分:0)
正确,您不应在主程序中包含.cpp文件。相反,你应该将文件添加到项目中(我没有使用Code :: Blocks很长一段时间,但我确信在菜单的某处有一个非常明显的“添加文件到项目”选项 - “文件” “或”项目“将是第一个看的地方)。
[不,它被称为“源文件” - 样式表是你在网络开发中使用的东西]