class A
{
public:
int x;
A(int x_=0):x(x_){}
};
int main()
{
A obj1(99); //user-defined constructor is used
A obj2=obj1; //compiler-defined copy constructor is used
A obj3(obj1); //which constructor is used ? I am surprised that
this kind of direct-initialization
//works
Thanks for your kind help !