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 9, 2002

Avoiding Recursive Header Includes


In C/C++ header files, it's often necessary to include the header files of sub classes or classes which are used. For example:
 
#include "a.h"     <- in b.h

Sometimes header files need to include each other, as in:
 
#include "a.h"     <- in b.h
#include "b.h"     <- in a.h

This results in recursion within the headers, which often cannot be solved by using #ifndef's. To work around this, only include headers in .cpp files. In header files, simply re-declare the class you need to use (e.g. class B;). As methods will only be called in the .cpp files, there is no need to include the full header.
 
class B     &tl- in a.h
..
void SetB(B * b);
..
B * myB;
Ray Hunter
 
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