template <class T>
class baseclass{
protected:
T data;
public:
baseclass(){};
void setData(T d);
};
template<class T>
void baseclass<T>::setT(T d){
data = d;
}
上面展示的是我的基类,有一个受保护的成员变量和一个设置器。
template <class T>
class aclass : public baseclass<T>
{
public:
aclass(T d);
};
template<class T>
aclass<T>::aclass(T d){
setData(d); <---WORKS
data = d; <---DOESN'T WORK
}
现在这是我对第一个类的子类。由于某些原因,直接访问受保护成员变量并不起作用,尽管我认为它应该工作。然而,访问setter(设置器)可以正常运行。我是C++的新手,我相信我错过了一些显而易见的东西。