title: What is the practical use of protected inheritance?
body: <p>Public inheritance is easy.</p>
  
  <p>A : public B means every A is a B. In most programming language, like vb.net and objective-c, this is the only type of inheritance.</p>
  
  <p>Private inheritance is also easy but pointless</p>
  
  <p>A : private B means A is implemented by B. However, that's pointless because that means A should contain B instead. Ownership means less coupling with no disadvantage.</p>
  
  <p>Then we have protected inheritance.</p>
  
  <p>Can anyone explain to me what the hell is that for? Some says it's an "as a relationship". I am still not very clear on that.</p>
  
  <p>Does anyone has some sample cases where people uses protected inheritance in good pattern (and conscience) for actual productive use?</p>