title: C++, What does the colon after a constructor mean?
body: <blockquote>
    <p><strong>Possible Duplicates:</strong><br>
    <a href="https://stackoverflow.com/questions/2349978/variables-after-the-colon-in-a-constructor">Variables After the Colon in a Constructor</a><br>
    <a href="https://stackoverflow.com/questions/1272680/c-constructor-syntax-question-noob">C++ constructor syntax question (noob)</a>  </p>
  </blockquote>
  
  
  
  <p>I have some C++ code here:</p>
  
  <pre><code>class demo 
  {
  private:
      unsigned char len, *dat;
  
  public:
      demo(unsigned char le = 5, unsigned char default) : len(le) 
      { 
          dat = new char[len];                                      
          for (int i = 0; i &lt;= le; i++)                             
              dat[i] = default;
      }
  
      void ~demo(void) 
      {                                            
          delete [] *dat;                                           
      }
  };
  
  class newdemo : public demo 
  {
  private:
      int *dat1;
  
  public:
      newdemo(void) : demo(0, 0)
      {
       *dat1 = 0;                                                   
       return 0;                                                    
      }
  };
  </code></pre>
  
  <p>My question is, what are the <code>: len(le)</code> and <code>: demo(0, 0)</code> called? </p>
  
  <p>Is it something to do with inheritance?</p>