template <class T>
class Hola {
protected:
T *base;
public:
Hola() : base(0) {}
};
template <class T>
class Adios : public Hola<T> {
Hola<T> *hptr;
int rows;
public:
Adios(int n) { rows = n; base = new T[rows]; }
~Adios() { delete[] hptr; }
};
int main(int argc, char *argv[]) {
Adios<double> a(5);
return 0;
}