Skip to main content

Explain different types of inheritance with their syntax.

 In C++, inheritance is a mechanism that allows a class to inherit the properties of another class. There are four types of inheritance in C++:

1. Single Inheritance:
    Single inheritance is the most common type of inheritance. In this type of inheritance, a derived class inherits properties of only one base class. The syntax for single inheritance is as follows:

class Base {
    // Base class members
};
class Derived : public Base {
    // Derived class members
};

2. Multiple Inheritance:

In multiple inheritance, a derived class can inherit properties of more than one base class. The syntax for multiple inheritance is as follows:

class Base1 {
    // Base class 1 members
};

class Base2 {
    // Base class 2 members
};

class Derived : public Base1, public Base2 {
    // Derived class members
};

3. Hierarchical Inheritance:

In hierarchical inheritance, a single base class serves as a parent to multiple derived classes. The syntax for hierarchical inheritance is as follows:

class Base {
    // Base class members
};

class Derived1 : public Base {
    // Derived class 1 members
};

class Derived2 : public Base {
    // Derived class 2 members
};

4. Multilevel Inheritance:

In multilevel inheritance, a derived class can inherit from another derived class, which in turn is derived from a base class. The syntax for multilevel inheritance is as follows:

class Base {
    // Base class members
};

class Derived1 : public Base {
    // Derived class 1 members
};

class Derived2 : public Derived1 {
    // Derived class 2 members
};

These are the four types of inheritance in C++, each with its own syntax and use case..



Comments

Popular posts from this blog

Write a program using the algorithm count() to count how many elements in a container have a specified value.

 Here's an example program using the count() algorithm to count the number of occurrences of a specific value in a vector container: #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() {     vector<int> numbers = { 2, 5, 3, 7, 8, 5, 1, 5, 4 };          // count the number of occurrences of the value 5 in the vector     int count = count(numbers.begin(), numbers.end(), 5);          cout << "The number of occurrences of 5 in the vector is: " << count << endl;          return 0; } Output: The number of occurrences of 5 in the vector is: 3 Explanation: The program starts by creating a vector named numbers that contains several integer values. The count() algorithm is used to count the number of occurrences of the value 5 in the numbers vector. The function takes three arguments: the beginning and end iterators of...

Define polymorphism. Differentiate between overloading and overriding method with example.

 Polymorphism is a concept in object-oriented programming that allows objects of different classes to be treated as if they were objects of the same class. It allows a single method or operation to have different meanings or behaviors based on the context in which it is used. In Java, there are two types of polymorphism: Compile-time Polymorphism: This is achieved through method overloading, where two or more methods in a class have the same name but different parameters. Runtime Polymorphism: This is achieved through method overriding, where a subclass provides its own implementation of a method that is already defined in its parent class. Here is an example of method overloading: class MyClass {    public int sum(int a, int b) {       return a + b;    }    public double sum(double a, double b) {       return a + b;    } } public class Main {    public static void main(String[] args) {     ...

write a program in C++ to overload '-' operator to find difference of two complex object.

write a program to overload '-' operator to find difference of two complex object /* program in C++ to overload '-' operator to find difference of two complex object */ #include<iostream> using namespace std; class Complex{     public:     float a, b;     complex(): a(0), b(0) {}     complex(float x, float y): a(x), b(y){}     void display(){          cout<<this->a<<"+"<<this->b<<"i"<<endl;     }     friend Complex operator-(const Complex&, const Complex&); }; complex operator-(const Complex& com, const Complex& comp){     float x= com.a - comp.a;     foat y= com.b - comp.b;     return Complex(x,y); } int main(){     Complex a(1,7), b(6,9);     cout<<"A = ";a.display();      cout<<"B = ";b.display();      cout<<"A - B = ";(a-b).display(); ...