question about copy constructor
<p>I have this class:</p>

<pre><code>class A {
private:
 int player;
public:
 A(int initPlayer = 0);
 A(const A&amp;);
 A&amp; operator=(const A&amp;);
 ~A();
 void foo() const;
};
</code></pre>

<p>and I have function which contains this row:</p>

<pre><code> A *pa1 = new A(a2);
</code></pre>

<p>can somebody please explain what exactly is going on, when I call <code>A(a2)</code> compiler calls copy constructor or constructor, thanks in advance</p>
