A default constructor takes no arguments: If you don't define any constructor, the compiler generates a default one that does nothing. This leaves member variables uninitialized, which is dangerous for built-in types like Once you define any constructor, the compiler stops generating the default one.
If you still want a no-argument version, you must write it explicitly. Understanding this concept deeply will help you write better code. Practice with examples until the pattern becomes automatic.
Review earlier sections if anything is unclear. Building on solid foundations makes advanced topics easier.