Redefinition of constructor with inheritance
<p>Why in the underlying example keeps the compiler complaining about a redefinition for the B constructor. If i remove the {} it complains they need to be there. How is this done correctly?
I want to implement the constructor of B in the CPP file and not inline.</p>

<pre><code>#include &lt;vector&gt;
#include &lt;sstream&gt;
#include &lt;iostream&gt;

using namespace std;

class A
{
    public:
        A();
        ~A();
};

class B : public A
{
    public:
        B() : A() {};
        ~B();
};

A::A()
{
    cout &lt;&lt; "A construct!";
}

B::B()
{
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
    cout &lt;&lt; "B construct!";
}

int main()
{
    return 0;
}
</code></pre>
