The main issue is you need to inherit template class this way:
template<class T>
class rectangle : public polygon<T> // polygon is a template, you need to make
^^^ // rectangle from a concrete polygon type
1
solved Templated polymorphism is not working [closed]