Is constructor called?

In class-based object-oriented programming, a constructor (abbreviation: ctor) is a special type of subroutine called to create an object . It prepares the new object for use, often accepting arguments that the constructor uses to set required member variables.

Read more

Why constructor is called twice?

This is because when you do the following: obj2 = 100 ; this one will first call abc(int x) to generate an object of the class, then call the default copy assignment operator (since no user-defined is provided) to assign the value 100 to existing obj2 . After the assignment, the temporary object is destructed.

Read more