Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Advanced
Dec 12, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Using the Template Argument as the Superclass

When you need to add the same member function to several classes, you can use a template class, derived from its template argument.
template <class P>
class T : public P {
  void f() { cout << "f()" << endl; } _
// added member function

typedef T<A> APlus;
typedef T<B> BPlus;

Added in such a manner, this member function calls any other member functions (not defined in the template). However, you have to be sure that all the base classes have them.

This technique can also be used to override a virtual member function of a bunch of classes.
Ivan Gerasimov
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date