私は2つのクラスを持っています:
- 値の範囲
- メニュー項目
3 番目のクラス Menu は、MenuItem クラスを使用して、それぞれが値の範囲 (int、float、boolean) を持つ複数のメニュー項目を定義します。
私がしたことは次のとおりです。
template <class T>
class ValueRange{
private:
T minValue;
T maxValue;
public:
void setMinValue(T minValue){this->minValue=minValue;};
void setMaxValue(T maxValue){this->maxValue=maxValue;};
ValueRange(){};
~ValueRange(){};
};
と
#include <string>
#include "ValueRange.hh"
class MenuItem{
private:
std::string name;
/*
* does not compile...
* error: invalid use of template-name 'ValueRange'
* without an argument list
* error: 'ValueRange' is not a type
*/
ValueRange value;
public:
/*
* does not compile...
* error: 'class MenuItem' has no member named 'value'
*/
void setValueRange(ValueRange value){this->value=value;}
MenuItem(){};
~MenuItem(){};
};
属性値が一般的なMenuItem クラスを実装して、int、float、boolean などの値の範囲を持つ menuItem を作成するにはどうすればよいですか?