How can I override a virtual function with template argument? virtual T accept(Visitor);
virtual T accept(Visitor);
#include template