ヘッダー内でクラスオブジェクトを宣言しようとしていますが、機能させることができません。現在、各関数の機能を定義する2つのヘッダーファイルと2つのcppファイルがあります。クラスはHeltalおよびArrayと呼ばれ、両方とも独自のヘッダーファイル(heltal.hおよびarray.h)にあります。
Arrayクラスのプライベート部分内でHeltalクラスオブジェクトを宣言しようとしていますが、何をしても宣言する方法が見つかりません。heltal.hヘッダーをarray.hヘッダーに含めようとしましたが、再定義について文句を言い始めます。
array.cppで宣言することは問題なく機能しますが、代わりにヘッダーで定義してもらいたいと思います。
現在のファイルは次のようになります。
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;
};
array.h
#include <vector>
class Array {
public:
Array();
Array(int in);
~Array();
int Random(int min, int max);
private:
Heltal h;
int size;
};
両方のヘッダーがmain.cppに含まれています