If you do not provide a constructor for a class, the compiler will generate a default constructor. If you do provide a constructor for a class, you should also provide a default constructor, because the compiler will not supply one, and uninitialized declarations of instances of that class will not be allowed.