0

所以这是我的代码:

主要的

#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。

4

2 回答 2

1

您不应该包含 cpp 文件(它不称为样式表,它是源文件) 您将 main.cpp 和 Tclass.cpp 分别编译为目标文件,然后将目标文件链接到一个二进制文件中。

哦,不要使用using namespace std,不要从教科书中复制代码,教科书中的代码与实际的生产代码有很大不同,教科书中的代码是为了简洁,只显示手头的特定主题。

于 2013-11-14T15:46:10.527 回答
0

正确,您不应在主程序中包含 .cpp 文件。相反,您应该将文件添加到项目中(我已经很长时间没有使用 Code::Blocks,但我确信菜单中的某处有一个非常明显的“将文件添加到项目”选项 - “文件”或“项目”将是第一个看的地方)。

[不,它被称为“源文件”——样式表是您在 Web 开发中使用的东西]

于 2013-11-14T15:44:39.513 回答