base a declares a variable a of type base and calls its default constructor (assuming it’s not a builtin type). base a(); declares a function a that takes no parameters and returns type base .
Read moreHow does a default constructor work?
In both Java and C#, a “default constructor” refers to a nullary constructor that is automatically generated by the compiler if no constructors have been defined for the class. The default constructor implicitly calls the superclass’s nullary constructor, then executes an empty body .
Read more