There is no Copy Initialization/construction in use here. Object obj=3; will use Object(int i) constructor - which is the same constructor that Object obj(3); uses.
Copy construction is where a new object is created using an existing object of the same type (either using the compiler default copy constructor or your own supplied copy constructor)
Other Information Object(int i) is an example of a converting constructor - it can be used to convert an integer into an Object type - if you dont want the compiler to do this implicitly then you can tag this constructor as explicit)