title: Invalid use of undefined type 'struct PelephonePH'
body: <p>i have received in .cpp errors of invalid use of undefined struct PelephonePN, CellcomPN and so on
  and also error in .h errors of forward declaration of PelephonePN,...</p>
  
  <pre><code>#ifndef PHONE_H_INCLUDED
  #define PHONE_H_INCLUDED
  #include &lt;iostream&gt;
  #include &lt;ctime&gt;
  #include &lt;string&gt;
  #include "phone.h"
  
  using namespace std;
  
  class PhoneNumber;
  class PelephonePN;
  class CellcomPN;
  class OrangePN;
  class HotPN;
  class BezeqPN;
  
  class PhoneManager
  {
  private:
      PelephonePN* mpPelephone;
      CellcomPN* mpCellcom;
      OrangePN* mpOrange;
      HotPN* mpHot;
      BezeqPN* mpBezeq;
  public:
      PhoneManager();
      ~PhoneManager();
      void split_check_data(string str);
  };
  
  #endif
  </code></pre>
  
  <p>and .cpp</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;ctime&gt;
  #include &lt;string&gt;
  #include &lt;sstream&gt;
  #include "phone_manager.h"
  #include "phone.h"
  
  
  using namespace std;
  
  PhoneManager::PhoneManager()
  {
      srand(time(0));
      mpPelephone = new PelephonePN();
      mpCellcom = new CellcomPN();
      mpOrange = new OrangePN();
      mpHot = new HotPN();
      mpBezeq = new BezeqPN();
      mpPelephone-&gt;add(mpCellcom);
      mpPelephone-&gt;add(mpOrange);
      mpPelephone-&gt;add(mpHot);
      mpPelephone-&gt;add(mpBezeq);
      mpBezeq-&gt;setNext(mpPelephone);
  }
  </code></pre>