๐ Scenario: You are creating a simple program to model a car's basic information and behavior. This will help you understand how to represent real-world objects in code using variables and simple logic.
๐ฏ Goal: Build a C++ program that stores a car's make, model, and year, checks if the car is considered a classic (older than 25 years), and then prints the car's details along with whether it is a classic or not.
๐ What You'll Learn
Create variables to store the car's make, model, and year
Create a variable to store the current year
Use an if statement to check if the car is a classic (year older than current year minus 25)
Print the car's details and classic status
๐ก Why This Matters
๐ Real World
Modeling real-world objects like cars helps programmers organize data and logic clearly.
๐ผ Career
Understanding how to represent objects and their properties is key in software development, especially in fields like game development, simulations, and business applications.
Progress0 / 4 steps
1
Create variables for car details
Create three variables: make as a std::string with value "Toyota", model as a std::string with value "Corolla", and year as an int with value 1995.
C++
Hint
Use std::string for text and int for numbers.
2
Add current year variable
Add an int variable called currentYear and set it to 2024.
C++
Hint
Use int currentYear = 2024; to store the current year.
3
Check if the car is a classic
Create a bool variable called isClassic. Use an if statement to set isClassic to true if year is less than currentYear - 25, otherwise set it to false.
C++
Hint
Use an if statement to compare year with currentYear - 25.
4
Print car details and classic status
Use std::cout to print the car's make, model, and year in one line. Then print "Classic: Yes" if isClassic is true, otherwise print "Classic: No".
C++
Hint
Use std::cout and if to print the details and classic status.
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
Step 1: Understand the role of classes
Classes group data (attributes) and functions (methods) to model real-world things.
Step 2: Identify the purpose in modeling
Classes help represent objects with their properties and actions clearly.
Final Answer:
To represent real-world objects with attributes and behaviors -> Option B
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
Step 1: Recall C++ class syntax
The correct syntax starts with the keyword class, followed by the class name and braces.
Step 2: Check each option
class Car { }; uses class Car { }; which is correct. Others have syntax errors.
Final Answer:
class Car { }; -> Option C
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
Step 1: Analyze output statements
The code prints myDog.age followed by a space, then calls bark() which prints "Woof!".
Step 2: Combine outputs
Output is 5 plus Woof!, so result is "5 Woof!".
Final Answer:
5 Woof! -> Option D
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
Step 1: Check usage of string type
The code uses string without std:: or using namespace std;.
Step 2: Identify missing namespace
In C++, string is in the std namespace, so std::string is needed unless using directive is present.
Final Answer:
Missing std:: before string -> Option A
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
Step 1: Understand the relationship
A library contains many books, so it needs a collection (like a vector) of Book objects.
Step 2: Evaluate options
class Library { std::vector<Book> books; }; uses std::vector<Book> to hold multiple books, matching the real-world model.
Final Answer:
class Library { std::vector<Book> books; }; -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.