Bird
Raised Fist0
C++programming~10 mins

Getter and setter methods 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 getter method for the private member age.

C++
class Person {
private:
    int age;
public:
    int getAge() const {
        return [1];
    }
};
Drag options to blanks, or click blank then click option'
Aage
Bthis->age()
CgetAge
DAge
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using parentheses after the variable name like a function call.
Using incorrect capitalization.
2fill in blank
medium

Complete the code to declare a setter method for the private member age.

C++
class Person {
private:
    int age;
public:
    void setAge(int [1]) {
        age = value;
    }
};
Drag options to blanks, or click blank then click option'
AnewAge
Bage
Cvalue
DageValue
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using a parameter name different from the one used in the assignment.
Using the same name as the member variable without this->.
3fill in blank
hard

Fix the error in the setter method to correctly assign the parameter to the member variable.

C++
class Person {
private:
    int age;
public:
    void setAge(int value) {
        [1] = value;
    }
};
Drag options to blanks, or click blank then click option'
Aage
Bvalue
CsetAge
Dthis->age
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Assigning the parameter to itself.
Using the member variable name without this-> when parameter name is the same.
4fill in blank
hard

Fill both blanks to create a getter and setter for the private member score.

C++
class Game {
private:
    int score;
public:
    int [1]() const {
        return score;
    }
    void [2](int value) {
        score = value;
    }
};
Drag options to blanks, or click blank then click option'
AgetScore
BsetScore
Cscore
DupdateScore
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using the same name for both getter and setter.
Using incorrect method names that don't follow conventions.
5fill in blank
hard

Fill all three blanks to create a class with private member level and its getter and setter methods.

C++
class Player {
private:
    int [1];
public:
    int [2]() const {
        return [1];
    }
    void [3](int value) {
        [1] = value;
    }
};
Drag options to blanks, or click blank then click option'
Alevel
BgetLevel
CsetLevel
Dscore
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using inconsistent variable names.
Not matching getter and setter names with the variable.

Practice

(1/5)
1. What is the main purpose of getter and setter methods in C++ classes?
easy
A. To control access to private variables safely
B. To make variables public automatically
C. To delete variables from the class
D. To print variable values directly

Solution

  1. Step 1: Understand encapsulation in classes

    Getter and setter methods are used to access and modify private variables safely without exposing them directly.
  2. Step 2: Identify the role of getters and setters

    Getters return the value, setters allow controlled modification, often with validation.
  3. Final Answer:

    To control access to private variables safely -> Option A
  4. Quick Check:

    Getter and setter = control access [OK]
Hint: Getters and setters protect private data access [OK]
Common Mistakes:
  • Thinking getters/setters make variables public
  • Confusing setters with printing functions
  • Assuming getters modify data
2. Which of the following is the correct syntax for a setter method in C++ to set a private integer variable age?
easy
A. int setAge() { return age; }
B. void setAge(int a) { age = a; }
C. void getAge(int a) { age = a; }
D. int age(int a) { age = a; }

Solution

  1. Step 1: Identify setter method signature

    A setter usually returns void and takes a parameter to set the private variable.
  2. Step 2: Match correct syntax

    void setAge(int a) { age = a; } matches: void return type, parameter int a, and sets age = a.
  3. Final Answer:

    void setAge(int a) { age = a; } -> Option B
  4. Quick Check:

    Setter = void + parameter + assign [OK]
Hint: Setter methods return void and take a parameter [OK]
Common Mistakes:
  • Using return type int for setter
  • Naming setter as getAge
  • Setter returning a value
3. What will be the output of the following code?
#include <iostream>
class Person {
private:
  int age;
public:
  void setAge(int a) { if(a >= 0) age = a; else age = 0; }
  int getAge() { return age; }
};

int main() {
  Person p;
  p.setAge(-5);
  std::cout << p.getAge();
  return 0;
}
medium
A. Garbage value
B. -5
C. 0
D. Compilation error

Solution

  1. Step 1: Analyze setter behavior with negative input

    The setter checks if the input is >= 0; if not, it sets age to 0.
  2. Step 2: Check what happens with -5

    Since -5 < 0, age is set to 0.
  3. Final Answer:

    0 -> Option C
  4. Quick Check:

    Negative input sets age to 0 [OK]
Hint: Setter validates input before setting value [OK]
Common Mistakes:
  • Assuming negative value is stored
  • Expecting garbage value from uninitialized variable
  • Thinking code won't compile
4. Identify the error in the following setter method and choose the correct fix:
class Box {
private:
  int length;
public:
  void setLength() { length = l; }
};
medium
A. Remove the method entirely
B. Change return type to int
C. Make length public instead
D. Add parameter int l to setLength method

Solution

  1. Step 1: Check setter method parameters

    The setter tries to assign 'l' but has no parameter 'l' defined.
  2. Step 2: Fix by adding parameter

    Adding 'int l' as a parameter allows passing the value to set length.
  3. Final Answer:

    Add parameter int l to setLength method -> Option D
  4. Quick Check:

    Setter needs parameter to assign value [OK]
Hint: Setter must have parameter to set value [OK]
Common Mistakes:
  • Forgetting to add parameter
  • Changing return type unnecessarily
  • Making variable public instead of fixing setter
5. You want to create a class Temperature that stores temperature in Celsius but only allows values between -273 and 1000. Which setter method correctly enforces this rule?
hard
A. void setTemp(int t) { if(t >= -273 && t <= 1000) temp = t; else temp = -273; }
B. void setTemp(int t) { temp = t; }
C. int setTemp(int t) { if(t >= -273) temp = t; return temp; }
D. void setTemp() { temp = 0; }

Solution

  1. Step 1: Understand the value range requirement

    Temperature must be between -273 and 1000 inclusive.
  2. Step 2: Check which setter enforces this range

    void setTemp(int t) { if(t >= -273 && t <= 1000) temp = t; else temp = -273; } checks the range and sets temp accordingly; others do not enforce limits properly.
  3. Final Answer:

    void setTemp(int t) { if(t >= -273 && t <= 1000) temp = t; else temp = -273; } -> Option A
  4. Quick Check:

    Setter validates range before setting [OK]
Hint: Use if-condition in setter to validate input range [OK]
Common Mistakes:
  • Not validating input range
  • Setter without parameters
  • Setter returning int instead of void
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