我想模板化一个类的属性,但不是所有的功能。
enum myEnum
{
CHAR,
INT,
FLOAT,
DOUBLE
};
class myClass
{
public:
myClass(T);
~myClass();
myEnum getType(); // need to template it to know the type
myClass *operator+(const myClass&);
/*
I don't want to template it, because I don't need it,
I can find the type tanks to getType() (for the precision of the operation,
I'll need it, ie. for a char + int)
*/
protected:
T _value;
std::string _sValue;
};
我知道如何在一个类中模板化一个独特的函数,我只需要template<typename T>
在类中的函数上面写。我想知道如何在T _value
不模板化所有类的情况下模板化属性。
如果我尝试对属性做同样的事情,我的意思是:
template<typename T>
T _value;
我有那个错误:
error: data member '_value' cannot be a member template
error: ‘myClass’ is not a template