Skip to main content

C++: 7. Inheritance

In C++, inheritance is a process in which one object acquires all the properties and behaviors of its parent object automatically. In such way, you can reuse, extend or modify the attributes and behaviors which are defined in other class.

In C++, the class which inherits the members of another class is called derived class and the class whose members are inherited is called base class. The derived class is the specialized class for the base class.

Single Level Inheritance
When one class inherits another class, it is known as single level inheritance.

Example:- 
#include <iostream>  
using namespace std;  
 class Account {  
   public:  
   float salary = 60000;   
 };  
   class Programmer: public Account {  
   public:  
   float bonus = 5000;    
   };       
int main(void) {  
     Programmer p1;  
     cout<<"Salary: "<<p1.salary<<endl;    
     cout<<"Bonus: "<<p1.bonus<<endl;    
    return 0;  
}  
Output:- 
Salary: 60000
Bonus: 5000


Multiple Inheritance
Multiple Inheritance is a feature of C++ where a class can inherit from more than one class. i.e one subclass is inherited from more than one base class.

Example:- 
#include <iostream>
 
using namespace std;

// Base class Shape
class Shape {
   public:
      void setWidth(int w) {
         width = w;
      }
      void setHeight(int h) {
         height = h;
      }
      
   protected:
      int width;
      int height;
};

// Base class PaintCost
class PaintCost {
   public:
      int getCost(int area) {
         return area * 70;
      }
};

// Derived class
class Rectangle: public Shape, public PaintCost {
   public:
      int getArea() {
         return (width * height); 
      }
};

int main(void) {
   Rectangle Rect;
   int area;
 
   Rect.setWidth(5);
   Rect.setHeight(7);

   area = Rect.getArea();
   
   // Print the area of the object.
   cout << "Total area: " << Rect.getArea() << endl;

   // Print the total cost of painting
   cout << "Total paint cost: $" << Rect.getCost(area) << endl;

   return 0;
}
Output:- 
Total area: 35
Total paint cost: $2450

Multi Level Inheritance
When one class inherits another class which is further inherited by another class, it is known as multi level inheritance in C++. 

Example:- 
#include <iostream>
using namespace std;
class base //single base class
{
  public:
  int x;
  void getdata()
  {
     cout << "Enter value of x= "; cin >> x;
  }
};
class derive1 : public base // derived class from base class
{
  public:
  int y;
  void readdata()
  {
      cout << "\nEnter value of y= "; cin >> y;
  }
};
class derive2 : public derive1   // derived from class derive1
{
  private:
  int z;
  public:
  void indata()
  {
     cout << "\nEnter value of z= "; cin >> z;
  }
  void product()
  {
      cout << "\nProduct= " << x * y * z;
  }
};
int main()
{
     derive2 a;      //object of derived class
     a.getdata();
     a.readdata();
     a.indata();
     a.product();
     return 0;
}
Output:- 
Enter value of x= 2

Enter value of y= 3

Enter value of z= 3

Product= 18

Comments

Popular posts from this blog

Prompt Engineering for Web Developers: Work Smarter with AI 🚀

   AI is changing the way web applications are built. From generating components and writing tests to planning projects and reviewing code, developers can now use natural language prompts to accelerate development. This approach, often called Vibe Coding, allows developers to describe what they want and let AI generate the solution. The secret to getting quality results is Prompt Engineering : the practice of writing better prompts. 📌 The RTCF Framework A simple framework for creating effective prompts is RTCF : Role → Who should AI act as? Task → What needs to be done? Context → Why is it needed? Format → How should the output look? ❌ Weak Prompt Make me a learning app. ✅ Strong Prompt Role: Senior React Developer Task: Build a React Learning Planner Context: Users need to track learning resources through stages Format: React, Tailwind CSS, drag-and-drop, modern UI, no TypeScript Providing clear instructions dramatically improves AI o...

💰 Managing Finances

Most people focus on earning more, but real wealth is built through smart investing, risk management, and disciplined financial habits. Here's a simple framework to help secure your financial future. 🎯 1. Set Financial Goals First Invest with a purpose: Emergency Fund Home Purchase Child Education Retirement Financial Independence ⚠️ 2. Control Lifestyle Inflation ✅ Good Debt Home Loan Business Loan Education Loan ❌ Bad Debt Credit Card Loan Personal Loan Consumer EMIs Rule: Keep total EMIs below 40% of monthly income . 🛡️ 3. Create an Emergency Fund Maintain 6 months of household expenses in: Fixed Deposits (FD) or Sweep-In Account Arbitrage Mutual Fund (tax-efficient for higher tax brackets) Post Office Deposits This should be your first financial priority. ❤️ 4. Protect Before You Invest Term Insurance Coverage: 10-15× Annual Income/CTC Health Insurance Keep a personal family floater policy. Do not rely only on employer...

JS: Cheatsheet

   Datatypes Difference Between Var, Let and Const Functions and its types Asynchronous operations in JS