Bird
Raised Fist0
C++programming~10 mins

Real-world modeling 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 class named Car.

C++
class [1] {
public:
    int speed;
};
Drag options to blanks, or click blank then click option'
ACar
BVehicle
CEngine
DDrive
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using a different class name that doesn't match the problem description.
Forgetting to write the class name after the 'class' keyword.
2fill in blank
medium

Complete the code to add a constructor that sets the speed of the Car.

C++
class Car {
public:
    int speed;
    Car([1] s) {
        speed = s;
    }
};
Drag options to blanks, or click blank then click option'
Abool
Bfloat
Cstring
Dint
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using float or string instead of int for speed.
Forgetting to specify the type of the constructor parameter.
3fill in blank
hard

Fix the error in the method that increases the speed by a given amount.

C++
class Car {
public:
    int speed;
    void accelerate(int amount) {
        speed [1] amount;
    }
};
Drag options to blanks, or click blank then click option'
A+=
B-=
C*=
D/=
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using '-=' which decreases speed instead of increasing.
Using '*=' or '/=' which multiply or divide speed.
4fill in blank
hard

Fill both blanks to create a method that returns true if the car is moving.

C++
class Car {
public:
    int speed;
    bool isMoving() {
        return speed [1] [2];
    }
};
Drag options to blanks, or click blank then click option'
A>
B0
C==
D<
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using '==' instead of '>' which only checks if speed equals zero.
Using '<' which checks if speed is less than zero, which is not correct here.
5fill in blank
hard

Fill all three blanks to create a method that sets the speed only if the new speed is valid (non-negative).

C++
class Car {
public:
    int speed;
    void setSpeed(int newSpeed) {
        if (newSpeed [1] [2]) {
            speed [3] newSpeed;
        }
    }
};
Drag options to blanks, or click blank then click option'
A>=
B0
C=
D>
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using '>' instead of '>=' which excludes zero as valid speed.
Using '==' which checks equality instead of comparison.
Using '+=' instead of '=' which would add instead of set.

Practice

(1/5)
1. What is the main purpose of using classes in real-world modeling in C++?
easy
A. To write faster code without any structure
B. To represent real-world objects with attributes and behaviors
C. To avoid using variables in the program
D. To make the program run without errors

Solution

  1. Step 1: Understand the role of classes

    Classes group data (attributes) and functions (methods) to model real-world things.
  2. Step 2: Identify the purpose in modeling

    Classes help represent objects with their properties and actions clearly.
  3. Final Answer:

    To represent real-world objects with attributes and behaviors -> Option B
  4. Quick Check:

    Classes model objects = A [OK]
Hint: Classes group data and actions like real objects [OK]
Common Mistakes:
  • Thinking classes only speed up code
  • Confusing classes with simple variables
  • Believing classes remove all errors
2. Which of the following is the correct way to declare a class named Car in C++?
easy
A. Car class { };
B. class = Car { };
C. class Car { };
D. class Car();

Solution

  1. Step 1: Recall C++ class syntax

    The correct syntax starts with the keyword class, followed by the class name and braces.
  2. Step 2: Check each option

    class Car { }; uses class Car { }; which is correct. Others have syntax errors.
  3. Final Answer:

    class Car { }; -> Option C
  4. Quick Check:

    Correct class syntax = B [OK]
Hint: Use 'class Name { };' to declare classes [OK]
Common Mistakes:
  • Writing 'Car class' instead of 'class Car'
  • Using parentheses after class name
  • Missing semicolon after class definition
3. What will be the output of this C++ code?
class Dog {
public:
  int age;
  void bark() { std::cout << "Woof!"; }
};

int main() {
  Dog myDog;
  myDog.age = 5;
  std::cout << myDog.age << " ";
  myDog.bark();
  return 0;
}
medium
A. Woof!5
B. Woof! 5
C. 5Woof!
D. 5 Woof!

Solution

  1. Step 1: Analyze output statements

    The code prints myDog.age followed by a space, then calls bark() which prints "Woof!".
  2. Step 2: Combine outputs

    Output is 5 plus Woof!, so result is "5 Woof!".
  3. Final Answer:

    5 Woof! -> Option D
  4. Quick Check:

    Print age + space + bark = 5 Woof! [OK]
Hint: Check order and spaces in output statements [OK]
Common Mistakes:
  • Assuming space after bark output
  • Mixing order of printed values
  • Ignoring no newline after prints
4. Identify the error in this C++ class definition:
class Book {
  string title;
  int pages;
public:
  void setTitle(string t) { title = t; }
  void setPages(int p) { pages = p; }
};
medium
A. Missing std:: before string
B. Missing semicolon after class definition
C. Methods should be declared outside the class
D. Private members must be declared after public

Solution

  1. Step 1: Check usage of string type

    The code uses string without std:: or using namespace std;.
  2. Step 2: Identify missing namespace

    In C++, string is in the std namespace, so std::string is needed unless using directive is present.
  3. Final Answer:

    Missing std:: before string -> Option A
  4. Quick Check:

    Use std::string or using namespace std [OK]
Hint: Always prefix string with std:: or use namespace std [OK]
Common Mistakes:
  • Forgetting std:: prefix for string
  • Thinking methods must be outside class
  • Believing private must come after public
5. You want to model a Library that holds many Book objects. Which design best represents this real-world relationship in C++?
hard
A. class Library { std::vector<Book> books; };
B. class Library { Book book; };
C. class Library { int bookCount; };
D. class Library { void addBook(Book b); };

Solution

  1. Step 1: Understand the relationship

    A library contains many books, so it needs a collection (like a vector) of Book objects.
  2. Step 2: Evaluate options

    class Library { std::vector<Book> books; }; uses std::vector<Book> to hold multiple books, matching the real-world model.
  3. Final Answer:

    class Library { std::vector<Book> books; }; -> Option A
  4. Quick Check:

    Use collection for many objects = D [OK]
Hint: Use vector to hold many objects in a class [OK]
Common Mistakes:
  • Using single object instead of collection
  • Only storing count without objects
  • Defining methods without data members
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