Split a C++ class declaration
<p>I want to know if I can split a C++ class declaration</p>

<p>Original class</p>

<pre><code>    class P
    {
        private: 
           int id;
           //some really secret method
           int secretMethod();
       protected:
           int x;
       public:
           P();
           int getX();
    };
</code></pre>

<p>I want to show in the .h only the public and protected method and attributes, and declare somewhere else the private, where the user of the class can't see it.</p>

<p>Wanted class declaration:</p>

<pre><code>    class P
    {
       protected:
           int x;
       public:
           P();
           int getX();
    };
</code></pre>

<p>Edit:
I want that for:</p>

<ol>
<li>I can change the implementation of the class and for the user of the class is transparent</li>
<li>Is easier for the user to see less information than more</li>
<li>If I change the implementation of the class, change the private atributes and method I don't want to change the .h for the user of the class</li>
</ol>
