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
Language: C++
Expertise: Intermediate
Aug 21, 2001

Avoid Empty Member Initialization Lists


Following yesterday's tip, here's another deprecated habit that programmers should avoid. Consider the following class hierarchy:
 
class base
{
public: 
 base();
};

class derived: public base
{
public:
 derived() : base() {/*some code*/} // superfluous
};

The member initialization list of class derived doesn't really initialize anything. In fact, it merely invokes the default constructor of the base class. However, this is superfluous. Had we omitted the member initialization list in this case (or eliminated the constructor of derived altogether), the compiler would have synthesized a default constructor for class derived. The synthesized constructor automatically invokes the base class's constructor. As you can see, this is another violation of the
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap