In this HackerRank Multi-level inheritance problem in c++ programming language, you need to create a class called Equilateral which inherits from Isosceles and should have a function as expected in the output format.

## HackerRank Multi-level inheritance problem solution in c++ programming.

```#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

class Triangle{
public:
void triangle(){
cout<<"I am a triangle\n";
}
};

class Isosceles : public Triangle{
public:
void isosceles(){
cout<<"I am an isosceles triangle\n";
}
};

class Equilateral : public Isosceles
{
public:
void equilateral(){
cout << "I am an equilateral triangle" << endl;
}
};

int main(){

Equilateral eqr;
eqr.equilateral();
eqr.isosceles();
eqr.triangle();
return 0;
}```

## Second solution in c++14

```#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

class Triangle{
public:
void triangle(){
cout<<"I am a triangle\n";
}
};

class Isosceles : public Triangle{
public:
void isosceles(){
cout<<"I am an isosceles triangle\n";
}
};

class Equilateral : public Isosceles {
public:
void equilateral() {
cout << "I am an equilateral triangle" << endl;
}
};