title: When I derive a class in C++, does it create an object of base class and store it as my member variable in derived class?
body: <p>Say i create a derived class as below,</p>
  
  <pre><code>    class CHIProjectData : public QObject 
  { 
  CHIProjectData(QMap&lt;QString,QString&gt; aProjectData,
                             CHIMetaData* apMetaData = 0,
                             QObject* parent = 0); 
      private:
              QMap&lt;QString,QString&gt; m_strProjectData;
              CHIAkmMetaData* m_pMetaData; 
  };
  </code></pre>
  
  <p>and i implement like,</p>
  
  <pre><code>CHIProjectData::CHIProjectData(QMap&lt;QString,QString&gt; aProjectData,
                                 CHIMetaData* apMetaData,
                                 QObject* aParent)
      :m_strProjectData(aProjectData),
      m_pMetaData(apMetaData),
      QObject(aParent)
  {
  
  }
  </code></pre>
  
  <p>i know i initiate the member variables m_strProjectData, m_pMetaData in the constructor. but what does the last part "QObject(aParent)" do? does it create an object of base class and consider that as a member variable?</p>