Skip to content
the poor coder

Hackerrank Inheritance Introduction Solution

Poor Man
Published
Updated
Reading time
2 min read

One of the important topics of Object Oriented Programming is Inheritance. Inheritance allows us to define a class in terms of another class, which allows us in the reusability of the code.Check out the code below:

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

The class Triangle has a function called triangle(). Now we create a class derived from the base class Triangle called Isosceles.

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

Now we can create a derived class object and use it to access the functions of the base class.

Text
int main(){
    Isosceles isc;
    isc.isosceles();
    isc.triangle();
    return 0;
}

This code will print:

Text
I am an isosceles triangle
I am a triangle

Now write a function in Isosceles class such that the output is as given below.

Sample Output

Text
I am an isosceles triangle
In an isosceles triangle two sides are equal
I am a triangle

Solution in cpp#

Approach 1.

Python
#include <iostream>
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";
		}
		void description(){
			cout<<"In an isosceles triangle two sides are equal\n";
		}
};
int main(){
	Isosceles isc;
	isc.isosceles();
	isc.description();
	isc.triangle();
	return 0;
}

Approach 2.

Python
#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";
       }
       void description(){
           cout<<"In an isosceles triangle two sides are equal\n";
       }
};
int main(){
    Isosceles isc;
    isc.isosceles();
     isc.description();
    isc.triangle();
    return 0;
}

Approach 3.

Python
#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";
       }
       void description() {
            cout<<"In an isosceles triangle two sides are equal\n";
       }
};
int main(){
    Isosceles isc;
    isc.isosceles();
     isc.description();
    isc.triangle();
    return 0;
}

Keep going

2020

Hackerrank Rectangle Area Solution

Create two classes: Rectangle The Rectangle class should have two data fields-width and height of int types. The class should have display() method, to print the width and height of the rectangle separated by space…

ESC