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: Beginner
Jan 18, 1999

Private Inheritance

When a derived class inherits from a private base, the is-a relation between a derived object and its private base does not exist. For example:
 
class Mem_Manager {/*..*/};
class List: private Mem_Manager {/*..*/};

void OS_Register( Mem_Manager& mm);

void main() 
{
  List li;
  OS_Register( li ); //compile time error; conversion from List & to Mem_Manager& is inaccessible 
}
Private inheritance is like containment. In the example, class List has a private base, Mem_Manager, which is responsible for its necessary memory bookkeeping. However, List is not a memory manager by itself. Therefore, private inheritance is used to block its misuse.
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap