```
template<class T>
class Parent {
public:
T mAge;
Parent(T age) : mAge(age) {};
Parent() {
mAge = -1;
};
void print() {
cout << mAge << " age" << endl;
};
};
template<class T>
class Child: public Parent<T> {
public:
Child() {};
Child(T age) : Parent<T>(age) {};
};
int main(int argc, char* argv[]) {
Child<int> *child = new Child<int>();
child->print();
return 0;
}
```