Inheritance is a feature in C++ where a new class (child) can take properties and behaviors (data members and functions) from an existing class (parent).
Click to reveal answer
beginner
Why do we use inheritance in programming?
We use inheritance to reuse code, avoid repetition, and create a clear relationship between general and specific classes.
Click to reveal answer
intermediate
How does inheritance help in code maintenance?
Inheritance helps by allowing changes in the parent class to automatically apply to child classes, making updates easier and reducing errors.
Click to reveal answer
beginner
What is an example real-life analogy for inheritance?
Think of a family: children inherit traits from parents, like eye color or hair type. Similarly, child classes inherit properties and methods from parent classes.
Click to reveal answer
advanced
What is polymorphism and how is it related to inheritance?
Polymorphism allows child classes to have different behaviors for the same function defined in the parent class. It works because of inheritance.
Click to reveal answer
What is the main purpose of inheritance in C++?
ATo reuse code and create relationships between classes
BTo make programs run faster
CTo hide data from users
DTo create variables
✗ Incorrect
Inheritance helps reuse code and establish parent-child relationships between classes.
Which of these is true about inheritance?
AParent classes inherit from child classes
BChild classes can access parent class members
CInheritance duplicates all code
DInheritance is only used for variables
✗ Incorrect
Child classes inherit members from parent classes, not the other way around.
How does inheritance improve code maintenance?
ABy making code run slower
BBy deleting unused code automatically
CBy allowing changes in parent class to affect child classes
DBy forcing all classes to be the same
✗ Incorrect
Changes in the parent class automatically apply to child classes, making maintenance easier.
Which real-life example best explains inheritance?
AChildren inheriting traits from parents
BBuying a new car
CCooking a meal
DWriting a letter
✗ Incorrect
Inheritance is like children inheriting traits from their parents.
What feature depends on inheritance to allow different behaviors in child classes?
ACompilation
BEncapsulation
CAbstraction
DPolymorphism
✗ Incorrect
Polymorphism uses inheritance to let child classes have different behaviors for the same function.
Explain why inheritance is useful in programming and how it helps with code reuse.
Think about how sharing common features saves time and effort.
You got /4 concepts.
Describe a simple real-life example that helps you understand inheritance.
Consider how children get features from their parents.
You got /4 concepts.
Practice
(1/5)
1. Why do programmers use inheritance in C++?
easy
A. To create unrelated classes
B. To reuse code from an existing class
C. To make programs run faster
D. To avoid using functions
Solution
Step 1: Understand inheritance purpose
Inheritance allows a new class to use code from an existing class, avoiding repetition.
Step 2: Analyze options
Only To reuse code from an existing class correctly states code reuse. Others are unrelated or incorrect.
Final Answer:
To reuse code from an existing class -> Option B
Quick Check:
Inheritance = Code reuse [OK]
Hint: Inheritance means reusing code from another class [OK]
Common Mistakes:
Thinking inheritance speeds up program execution
Confusing inheritance with unrelated class creation
Believing inheritance removes need for functions
2. Which of the following is the correct syntax to declare a class Car that inherits from class Vehicle in C++?
easy
A. class Car Vehicle {};
B. class Car inherits Vehicle {};
C. class Car extends Vehicle {};
D. class Car : public Vehicle {};
Solution
Step 1: Recall C++ inheritance syntax
In C++, inheritance is declared using a colon and access specifier like public.
Step 2: Check each option
class Car : public Vehicle {}; uses correct syntax. inherits and extends use keywords from other languages. class Car Vehicle {}; is invalid.
Final Answer:
class Car : public Vehicle {}; -> Option D
Quick Check:
C++ inheritance syntax = colon + access specifier [OK]
Hint: Use colon and public keyword for inheritance in C++ [OK]
Common Mistakes:
Using 'inherits' or 'extends' keywords (not C++ syntax)
Omitting colon before base class name
Forgetting access specifier like public
3. Consider this code:
class Animal {
public:
void sound() { std::cout << "Animal sound"; }
};
class Dog : public Animal {
public:
void sound() { std::cout << "Bark"; }
};
int main() {
Dog d;
d.sound();
return 0;
}
What is the output when this program runs?
medium
A. Bark
B. Animal sound
C. Compilation error
D. No output
Solution
Step 1: Understand method overriding in inheritance
The Dog class defines its own sound() method, which overrides Animal's method.
Hint: Child class method overrides parent method when called [OK]
Common Mistakes:
Assuming parent method runs instead of child
Thinking code causes compilation error
Expecting no output from method call
4. Find the error in this code snippet:
class Base {
public:
void show() { std::cout << "Base"; }
};
class Derived : Base {
public:
void show() { std::cout << "Derived"; }
};
int main() {
Derived d;
d.show();
return 0;
}
medium
A. Derived class cannot have a function named show()
B. Function show() must be virtual
C. No error, code runs fine
D. Missing access specifier before Base in inheritance
Solution
Step 1: Verify inheritance syntax
class Derived : Base is valid syntax; class inheritance defaults to private.
Step 2: Trace program execution
Derived d; d.show(); calls Derived's public show(), printing "Derived". No errors.
Final Answer:
No error, code runs fine -> Option C
Quick Check:
Private inheritance defaults ok here [OK]
Hint: Classes inherit privately by default in C++ [OK]
Common Mistakes:
Assuming default inheritance is public
Thinking virtual keyword is mandatory here
Believing derived class cannot have same function name
5. You want to model a system where Car and Bike share common features like start() and stop(), but also have their own unique features. How should you use inheritance in C++ to design this?
hard
A. Create a base class Vehicle with common features, then inherit Car and Bike from it
B. Make Car inherit from Bike to reuse code
C. Write all features separately in Car and Bike without inheritance
D. Use inheritance only if Car and Bike have identical features
Solution
Step 1: Identify common features
Both Car and Bike share start() and stop(), so these belong in a common base class.
Step 2: Design inheritance structure
Create a base class Vehicle with common features, then inherit Car and Bike from it to add unique features.
Final Answer:
Create a base class Vehicle with common features, then inherit Car and Bike from it -> Option A
Quick Check:
Use base class for shared features [OK]
Hint: Put shared features in base class, inherit for unique parts [OK]
Common Mistakes:
Inheriting Car from Bike (wrong 'is-a' relationship)
Duplicating code instead of reusing via inheritance
Thinking inheritance requires identical features
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.