Difficulty: Easy
Correct Answer: can be overloaded
Explanation:
Introduction / Context:
Overloading enables multiple functions with the same name but different parameter lists. Constructors are prime candidates for overloading because classes often need various ways to be initialized. This question asks whether constructor overloading is supported and appropriate in C++.
Given Data / Assumptions:
Concept / Approach:
Constructors can be overloaded. Common patterns include a default constructor, parameterized constructors for different argument sets, and the special copy and move constructors. Overloading permits flexible object creation strategies (e.g., from size, from iterator range, from string literal, etc.). The other options either misuse terminology (“nested”) or state false claims about prohibition of overloading or mere callability (which doesn’t address the question of overloading at all).
Step-by-Step Solution:
Verification / Alternative check:
Implement several constructors and instantiate objects with different argument lists; compilation and correct overload selection confirm the feature. Adding two identical signatures results in a redefinition error, reinforcing the signature-difference rule.
Why Other Options Are Wrong:
cannot overloaded: contradicts core language capability.
can be called: true but irrelevant to overloading.
can be nested: not a meaningful statement in this context.
Common Pitfalls:
Final Answer:
can be overloaded
Discussion & Comments