Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
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

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 {
public:
  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.

 

 

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