Bird
Raised Fist0
C++programming~10 mins

Parameterized constructor in C++ - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare a parameterized constructor for class Car.

C++
class Car {
public:
    int year;
    Car([1]) {
        year = y;
    }
};
Drag options to blanks, or click blank then click option'
Aint y
Byear
CCar()
Dvoid y
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using the class name as a parameter type
Forgetting to specify the parameter type
Using void as a parameter type
2fill in blank
medium

Complete the constructor initialization list to set the member variable.

C++
class Book {
    int pages;
public:
    Book(int p) : [1] {}
};
Drag options to blanks, or click blank then click option'
Apages = p
Bpages(p)
Cp(pages)
Dpages:p
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using assignment inside the initialization list
Reversing the order of member and parameter
Using colon instead of parentheses
3fill in blank
hard

Fix the error in the parameterized constructor declaration.

C++
class Student {
    int id;
public:
    Student([1]) {
        id = i;
    }
};
Drag options to blanks, or click blank then click option'
Aint i
Bi int
Cint
Dvoid i
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Writing the variable name before the type
Omitting the variable name
Using void as a parameter type
4fill in blank
hard

Fill both blanks to complete the constructor that initializes two member variables.

C++
class Point {
    int x, y;
public:
    Point(int a, int b) : [1], [2] {}
};
Drag options to blanks, or click blank then click option'
Ax(a)
Ba(x)
Cy(b)
Db(y)
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Reversing member and parameter names
Using assignment instead of initialization list
Omitting one of the member initializations
5fill in blank
hard

Fill all three blanks to complete the constructor initializing three members with parameters.

C++
class Rectangle {
    int width, height, area;
public:
    Rectangle(int w, int h) : [1], [2], [3] {
        area = width * height;
    }
};
Drag options to blanks, or click blank then click option'
Awidth(w)
Bheight(h)
Carea(0)
Darea(w*h)
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Initializing area with w*h in the list (should be done in body)
Mixing parameter and member names
Forgetting to initialize all members

Practice

(1/5)
1.

What is the main purpose of a parameterized constructor in C++?

easy
A. To initialize an object with specific values when it is created
B. To delete an object from memory
C. To copy one object to another
D. To create a function outside the class

Solution

  1. Step 1: Understand constructor role

    A constructor sets up an object when it is created.
  2. Step 2: Identify parameterized constructor use

    Parameterized constructors allow passing values to set object properties immediately.
  3. Final Answer:

    To initialize an object with specific values when it is created -> Option A
  4. Quick Check:

    Parameterized constructor = initialize with values [OK]
Hint: Think: constructor sets initial values when making an object [OK]
Common Mistakes:
  • Confusing constructor with destructor
  • Thinking constructors copy objects
  • Believing constructors are separate functions
2.

Which of the following is the correct syntax for a parameterized constructor in C++?

class Box {
public:
    Box(int w, int h) { width = w; height = h; }
private:
    int width, height;
};
easy
A. Box(int w, int h) { width = w; height = h; }
B. void Box(int w, int h) { width = w; height = h; }
C. Box() { width = w; height = h; }
D. Box(int w, int h) -> void { width = w; height = h; }

Solution

  1. Step 1: Check constructor name and return type

    Constructor must have the same name as the class and no return type.
  2. Step 2: Verify parameter list and body

    Box(int w, int h) { width = w; height = h; } matches correct syntax: name matches class, parameters present, no return type.
  3. Final Answer:

    Box(int w, int h) { width = w; height = h; } -> Option A
  4. Quick Check:

    Constructor = class name + no return type [OK]
Hint: Constructor has no return type and matches class name [OK]
Common Mistakes:
  • Adding void return type to constructor
  • Using different name than class
  • Missing parameters in parameterized constructor
3.

What will be the output of this code?

#include <iostream>
class Point {
public:
    int x, y;
    Point(int a, int b) { x = a; y = b; }
};

int main() {
    Point p(3, 4);
    std::cout << p.x << ", " << p.y << std::endl;
    return 0;
}
medium
A. Compilation error
B. 3, 4
C. 0, 0
D. Random values

Solution

  1. Step 1: Understand constructor call

    The object p is created with values 3 and 4 passed to the constructor.
  2. Step 2: Check member variable assignment and output

    The constructor sets x=3 and y=4, so printing p.x and p.y outputs "3, 4".
  3. Final Answer:

    3, 4 -> Option B
  4. Quick Check:

    Constructor sets values correctly = 3, 4 [OK]
Hint: Constructor sets values; output matches passed parameters [OK]
Common Mistakes:
  • Assuming default values instead of passed ones
  • Expecting compilation error due to missing default constructor
  • Confusing output format
4.

Identify the error in this code snippet:

#include <iostream>
class Car {
public:
    int speed;
    Car(int s) { speed = s; }
};

int main() {
    Car c;
    std::cout << c.speed << std::endl;
    return 0;
}
medium
A. Variable speed is not declared
B. Incorrect syntax in constructor definition
C. Missing default constructor causes error when creating Car c;
D. Output will be garbage value

Solution

  1. Step 1: Check object creation

    The line Car c; tries to create an object without parameters.
  2. Step 2: Verify constructors available

    Only a parameterized constructor Car(int s) exists; no default constructor is defined.
  3. Step 3: Understand compilation error

    Because no default constructor exists, Car c; causes a compilation error.
  4. Final Answer:

    Missing default constructor causes error when creating Car c; -> Option C
  5. Quick Check:

    No default constructor + no args object = error [OK]
Hint: If no default constructor, you must pass arguments when creating object [OK]
Common Mistakes:
  • Assuming default constructor exists automatically
  • Thinking variable declaration is missing
  • Expecting garbage output instead of compile error
5.

Given this class, how can you create an object r with width 5 and height 10 using the parameterized constructor?

class Rectangle {
public:
    int width, height;
    Rectangle(int w, int h) { width = w; height = h; }
};
hard
A. Rectangle r = Rectangle{5};
B. Rectangle r();
C. Rectangle r = Rectangle();
D. Rectangle r = Rectangle(5, 10);

Solution

  1. Step 1: Identify constructor parameters

    The constructor requires two integers: width and height.
  2. Step 2: Match object creation syntax

    Rectangle r = Rectangle(5, 10); correctly calls the constructor with two arguments (5, 10) to create object r.
  3. Step 3: Check other options

    Rectangle r(); is a function declaration, not object creation. Rectangle r = Rectangle(); calls default constructor which doesn't exist. Rectangle r = Rectangle{5}; passes only one argument, which is invalid.
  4. Final Answer:

    Rectangle r = Rectangle(5, 10); -> Option D
  5. Quick Check:

    Pass all required parameters to constructor [OK]
Hint: Call constructor with all parameters to create object [OK]
Common Mistakes:
  • Using empty parentheses which declare a function
  • Calling constructor without required arguments
  • Passing wrong number of arguments
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard