Class Declaration without Private Members
<p>So, I am willing to structure my project like that:</p>

<p>ClassA.cpp:</p>

<pre><code>class ClassA {
public:
    static ClassA* create() {
        return new ClassA();
    }
    void methodA() {
        // stuff here
    }
    void methodB() {
        // more stuff here
    }
private:
    ClassA() {
    }
    void privateMethodOne() {
        //yadda yadda
    }
    int attributeA;
    char attributeB;
};
</code></pre>

<p>ClassA.hpp:</p>

<pre><code>class ClassA {
public:
    ClassA* create();
    void methodA();
    void methodB();
private:
    ClassA();
};
</code></pre>

<p>I am going to work only with pointers, I wonder if this approach would generate an error in a future. I wonder if there is a pitfall here. Suppose that the .hpp is automatically generated so it would have exactly the same members, except the private ones.</p>
