> It is only the default constructor that is left out, the copy constructor will be created by the compiler.

What do you mean?  The rules of C++ quite clearly state that if a user chooses to define one (or more) of the constructors, then any remaining constructors from the default set are *not* generated by the compiler.