I think Do nothing constructor is the one OS offered which has no argument in it of course no return type. The default constructor has the same signature as DO nothing constructor but you can write some initialization there it can be overloaded. In a class you can only have either one not both.