gpt4 book ai didi

c++ - 在类头 C++ 中声明类对象

转载 作者:搜寻专家 更新时间:2023-10-31 01:12:32 25 4
gpt4 key购买 nike

我试图在 header 中声明一个类对象,但我无法让它工作。我目前有 2 个头文件和 2 个 cpp 文件,它们定义了每个函数的作用。这些类称为 Heltal 和 Array,它们都在自己的头文件(heltal.h 和 array.h)中。

我试图在 Array 类的私有(private)部分中声明 Heltal 类对象,但无论我做什么我都找不到声明它的方法。我试过将 heltal.h header 包含到 array.h header 中,但随后它开始提示被重新定义。

然而,在 array.cpp 中声明它工作得很好,但我想改为在 header 中定义它。

这是文件目前的样子:

heltal.h

class Heltal {
public:
Heltal();
Heltal(int tal);
~Heltal();

void set(int tal);
bool operator < (const Heltal &heltal) const
{
return (heltal < heltal.heltal);
}
bool operator > (const Heltal &heltal) const
{
return (heltal > heltal.heltal);
}
private:
int heltal;
};

数组.h

#include <vector>
class Array {
public:
Array();
Array(int in);
~Array();
int Random(int min, int max);
private:
Heltal h;
int size;
};

两个头文件都包含在 main.cpp 中

最佳答案

当您将 Heltal.h 包含在 Array.h 中时,您就走上了正确的道路。

添加include guards到您的 header ,这将帮助您避免重复包含:

#ifndef HELTAL_H
#define HELTAL_H

class Heltal {
...
};

#endif

现在您可以安全地将 Heltal.h 包含在 Array.h 的顶部,您的问题将得到解决。

关于c++ - 在类头 C++ 中声明类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13647299/

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