gpt4 book ai didi

c++ - 使用类和 header 的两个错误

转载 作者:行者123 更新时间:2023-11-28 02:37:19 26 4
gpt4 key购买 nike

我得到错误类重定义

另外错误ID不是类进程的成员

ID 前缺少分号

我试过用 char* 而不是 string.. 也不起作用

有什么帮助吗?我好像漏掉了什么

提前致谢

process.h文件

#ifndef PROCESS_H
#define PROCESS_H


class process
{
public:

string ID;
int run_time;
int arrival_time;

process();

int get_start_time();
int get_finish_time(int start, int run);
int get_TA_time(int finish, int start);
float get_weighted_TA_time();

};

#endif

进程.cpp文件

#include <cstdlib>
#include <stdio.h>
#include <string>
#include <sstream>

#include "process.h"

using namespace std;

class process
{
public:

process:: process() {};
int process:: get_start_time()
{
int x;
return x;
}
int process:: get_finish_time(int start, int run)
{
int x;
return x= start +run;
}
int process:: get_TA_time(int finish, int start)
{
int x;
return x= finish - start;
}
float process:: get_weighted_TA_time()
{};
};

最佳答案

问题 1 类优化
cpp你不需要写的文件class process .应该是

#include <cstdlib>
#include <stdio.h>
#include <string>
#include <sstream>

#include "process.h"

using namespace std;

process:: process() {};
int process:: get_start_time()
{
int x;
return x;
}
int process:: get_finish_time(int start, int run)
{
int x;
return x= start +run;
}
int process:: get_TA_time(int finish, int start)
{
int x;
return x= finish - start;
}
float process:: get_weighted_TA_time()
{};

在头文件中,您已提供所需的声明。在 cpp ,你需要给出定义。但是因为您现在不在类(class)范围内,所以您必须给出您已经在做的成员的完全限定名称。 (例如:int process:: get_finish_time(int start, int run))

如果您再次使用 class process ,编译器没有提示您打算使用同一个类并且不希望新类导致类重新定义错误。在 C++ 中,不允许部分创建类并在其他地方完成其余部分。 (不要与继承混淆)

问题2:字符串问题
添加#include <string>在你的头文件中使用 std::string或添加行 using std::string

关于c++ - 使用类和 header 的两个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27032984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com