Yes C++ does have a default constructor provided by the compiler.In this case all the members of the class are initialized to null values.These values act as the default values.For eg: MyClass me;In the above case since the object is not initialized to any value so the default constructor will be called which will initialize the class with the default values.
A default constructor is a constuctor that can be invoked without any arguments. This could be a constructor without any parameters or a constructor that has parameters with default arguments. Only one constructor in a class can have default arguments.