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;
}
Se muestra arriba mi clase de base, una variable de miembro protegida, un establecedor.Problema de herencia de plantilla simple C++
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
}
Ahora esta es mi subclase de la primera. Por alguna razón, acceder directamente a la variable miembro protegida no funciona, aunque creo que debería hacerlo. Sin embargo, acceder al colocador funciona bien. Soy un novato con C++, estoy seguro de que me falta algo obvio.
¿Funciona si escribe esto-> data = d ;? –
¿Podrías por favor ser más específico de lo que significa "no funciona"? ¿Estás obteniendo un error de compilación (y si es así, cuál), o no hace nada en tiempo de ejecución o qué? –
@Michael sí, lo hace. naturalmente. – jakev