0
0
C++programming~5 mins

Constructor overloading in C++ - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is constructor overloading in C++?
Constructor overloading means having multiple constructors in a class with different parameters. This lets you create objects in different ways depending on the data you provide.
Click to reveal answer
beginner
Why do we use constructor overloading?
We use constructor overloading to give flexibility when creating objects. It allows initializing objects with different sets of data without writing separate functions.
Click to reveal answer
intermediate
How does the compiler decide which constructor to call?
The compiler looks at the number and types of arguments you pass when creating an object. It matches these to the constructor with the same parameter list.
Click to reveal answer
intermediate
Can constructors have default parameters in constructor overloading?
Yes, constructors can have default parameters. But be careful because default parameters can cause ambiguity if multiple constructors match the call.
Click to reveal answer
beginner
Example of constructor overloading in C++?
class Box {
public:
  Box() { /* no-arg constructor */ }
  Box(int l, int w, int h) { /* 3-arg constructor */ }
  Box(int size) { /* 1-arg constructor */ }
};

This class has three constructors with different parameters.
Click to reveal answer
What does constructor overloading allow you to do?
ACreate multiple constructors with different parameters
BCreate only one constructor per class
CChange the return type of constructors
DUse constructors without parameters only
If a class has constructors Box() and Box(int size), which constructor is called by Box b(5)?
ABoth
BBox()
CBox(int size)
DNone
What happens if two constructors have the same parameter types and counts?
AThe first constructor is always called
BCompiler error due to ambiguity
CThe last constructor is always called
DIt works fine without errors
Can constructors have default arguments in constructor overloading?
AYes, but it can cause ambiguity
BNo, default arguments are not allowed
CYes, and it never causes problems
DOnly for destructors
Which of these is NOT a valid constructor overloading example?
ABox() {} and Box(int a) {}
BBox(int a, int b) {} and Box(int a) {}
CBox(double a) {} and Box(int a) {}
DBox(int a) {} and Box(int b) {}
Explain constructor overloading and why it is useful in C++.
Think about how you can create objects in different ways.
You got /3 concepts.
    Describe how the compiler chooses which constructor to call when you create an object.
    Focus on how the arguments you provide relate to constructors.
    You got /3 concepts.