Difficulty: Easy
Correct Answer: Default constructor
Explanation:
Introduction / Context:
Some functions in C++ may be invoked with or without arguments depending on their signatures. A specific kind of constructor, however, is defined by its ability to be called with no arguments at all. This question targets that definition.
Given Data / Assumptions:
Concept / Approach:
A default constructor is any constructor that can be called without arguments. It typically has no parameters, or all parameters have default values so that a call with zero arguments is valid. In contrast, ordinary member functions, friend functions, or overloaded operators may or may not require arguments depending on their signatures; they are not guaranteed to be argument-free.
Step-by-Step Solution:
1) Consider struct T { T(); }; → T() is callable with zero arguments.2) Consider struct U { U(int x = 0); }; → still callable as U() because x has a default value.3) Member/friend/operator functions require arguments only if declared that way; not universal.4) Therefore, the only construct that never requires arguments by definition is the default constructor.
Verification / Alternative check:
Attempt to instantiate a class with a default constructor using T t; It compiles without providing arguments, satisfying the definition.
Why Other Options Are Wrong:
Member/friend/overloaded operator: may or may not take parameters; no guarantee of zero-argument invocation.const function: “const” qualifies the implicit object parameter of a member function; it does not dictate argument count.
Common Pitfalls:
Equating “no-parameter constructor” with “compiler-provided in all cases.” If any constructor is declared, the default constructor is not implicitly provided unless explicitly defaulted.
Final Answer:
Default constructor
Discussion & Comments