Category Archives: OOP with C++

47. Hierarchical Inheritance

Hierarchical inheritance is defined as the process of deriving more than one class from a base class. Syntax of Hierarchical inheritance: class A  {      // body of the class A.  }    class B : public A   {      // body of class B.  }  class C : public A  {      // body of class C.  }   class D : public A  {      // body of class D.  }    Let’s see a simple example: #include <iostream>  using namespace std;  class Shape                 // Declaration of base class.  {      public:      int a;      int b;      void get_data(int n,int m)      {          a= n;          b = m;      }  };  class Rectangle : public Shape  // inheriting Shape class  {      public:      int rect_area()      {          int result = a*b;          return result;      }  };  class Triangle : public Shape    // inheriting Shape class  {      public:      int triangle_area()      {          float result = 0.5*a*b;          return result;      }  };  int main()  {      Rectangle r;      Triangle t;      int length,breadth,base,height;      std::cout << “Enter the length and breadth of a rectangle: ” << std::endl;      cin>>length>>breadth;      r.get_data(length,breadth);      int m = r.rect_area();      std::cout << “Area of the rectangle is : ” <<m<< std::endl;      std::cout << “Enter the base and height of the triangle: ” << std::endl;      cin>>base>>height;      t.get_data(base,height);      float n = t.triangle_area();      std::cout <<“Area of the triangle is : ”  << n<<std::endl;      return 0;  }   Output: Enter the length and breadth of a rectangle: 23 20 Area of the rectangle is : 460 Enter the base and height of the triangle: 2… Read More »

49. Hybrid Inheritance

Hybrid inheritance is a combination of more than one type of inheritance. Let’s see a simple example: #include <iostream>  using namespace std;  class A  {      protected:      int a;      public:      void get_a()      {         std::cout << “Enter the value of ‘a’ : ” << std::endl;         cin>>a;      }  };    class B : public A   {      protected:      int b;      public:      void get_b()      {          std::cout << “Enter the value of ‘b’ : ” << std::endl;         cin>>b;      }  };  class C   {      protected:      int c;      public:      void get_c()      {          std::cout << “Enter the value of c is : ” << std::endl;          cin>>c;      }  };    class D : public B, public C  {      protected:      int d;      public:      void mul()      {           get_a();           get_b();           get_c();           std::cout << “Multiplication of a,b,c is : ” <<a*b*c<< std::endl;      }  };  int main()  {      D d;      d.mul();      return 0;  }   Output: Enter the value of ‘a’ : 10 Enter the value of ‘b’ : 20 Enter the value of c is : 30 Multiplication of a,b,c is : 6000

46. Multiple Inheritance

Multiple inheritance is the process of deriving a new class that inherits the attributes from two or more classes. Syntax of the Derived class: class D : visibility B-1, visibility B-2, ?  {     // Body of the class;  }    Let’s see a simple example of multiple inheritance. #include <iostream>  using namespace std;  class A  {      protected:       int a;      public:      void get_a(int n)      {          a = n;      }  };    class B  {      protected:      int b;      public:      void get_b(int n)      {          b = n;      }  };  class C : public A,public B  {     public:      void display()      {          std::cout << “The value of a is : ” <<a<< std::endl;          std::cout << “The value of b is : ” <<b<< std::endl;          cout<<“Addition of a and b is : “<<a+b;      }  };  int main()  {     C c;     c.get_a(10);     c.get_b(20);     c.display();      return 0;  }   Output: The value of a is : 10 The value of b is : 20 Addition of a and b is :… Read More »

48. Multilevel Inheritance

Multilevel inheritance is a process of deriving a class from another derived class. Multi Level Inheritance Example When one class inherits another class which is further inherited by another class, it is known as multi level inheritance in C++. Inheritance is transitive so the last derived class acquires all the members of all its base classes.… Read More »

45. Single inheritance

Single inheritance is defined as the inheritance in which a derived class is inherited from the only one base class. Where ‘A’ is the base class, and ‘B’ is the derived class. Single Level Inheritance Example: Inheriting Fields When one class inherits another class, it is known as single level inheritance. Let’s see the example of… Read More »

44. Inheritance

One of the most important concepts in object-oriented programming is that of inheritance. Inheritance allows us to define a class in terms of another class, which makes it easier to create and maintain an application. This also provides an opportunity to reuse the code functionality and fast implementation time. When creating a class, instead of… Read More »

43. Virtual Base Class

Virtual base classes are used in virtual inheritance in a way of preventing multiple “instances” of a given class appearing in an inheritance hierarchy when using multiple inheritances. Need for Virtual Base Classes:Consider the situation where we have one class A . This class is A is inherited by two other classes B and C. Both these classes are inherited into another… Read More »

42. Virtual Function

A C++ virtual function is a member function in the base class that you redefine in a derived class. It is declared using the virtual keyword. It is used to tell the compiler to perform dynamic linkage or late binding on the function. There is a necessity to use the single pointer to refer to… Read More »

41. Pure virtual functions

A pure virtual function is a virtual function that has no definition within the class. Let’s understand the concept of pure virtual function through an example. In the above pictorial representation, shape is the base class while rectangle, square and circle are the derived class. Since we are not providing any definition to the virtual… Read More »

40. Function Overriding

If derived class defines same function as defined in its base class, it is known as function overriding in C++. It is used to achieve runtime polymorphism. It enables you to provide specific implementation of the function which is already provided by its base class. Let’s see a simple example of Function overriding in C++.… Read More »