Possible Duplicate:
Is there a difference in C++ between copy initialization and direct initialization?
Copy constructors and Assignment Operators
I have a class C in which I have overloaded Normal, copy constructor and assignment operator to print a trace of what is being called..
I wrote following pieces of code to test what is being called when?
C c1; --> Normal Constuctor .. // understood Fine
C c2;
c2 = c1; --> Normal constructor + assignment operator .. //understood Fine
C * c3 = new C(C1) --> Copy constructor // Understood Fine
C c4 = c1 --> copy constructor // Not Able to understand
This seems to baffle me since in this code though I am initializing at the time of declaration, it is through assignment operator and not copy constructor .. Am I understanding it wrong ??