ox it! – Hacker Rank Solution


 

Problem

Design a class named Box whose dimensions are integers and private to the class. The dimensions are labelled: length l, breadth b, and height h.
The default constructor of the class should initialize lb, and h to 0.
The parameterized constructor Box(int length, int breadth, int height) should initialize Box’s lb and h to length, breadth and height.
The copy constructor Box (Box B) should set lb and h to B‘s lb and h, respectively.

Apart from the above, the class should have 4 functions:

  • int getLength() – Return box’s length
  • int getBreadth() – Return box’s breadth
  • int getHeight() – Return box’s height
  • long long CalculateVolume() – Return the volume of the box

Overload the operator < for the class Box. Box A < Box B if:

  1. A.l < B.l
  2. B.b < B.b and A.l == B.l
  3. A.h < B.h and A.b == B.b and A.l == B.l

Overload operator << for the class Box().if B is an Object of class Box:cout<<B should print B.lB.b and B.h on a single line separated by spaces.

Constraints :

 0 <= l,b,h <= 10^5Two boxes being compared using the < operator will not have all three dimensions equal.



Box it! – Hacker Rank Solution

Code:

#include<bits/stdc++.h>

using namespace std;

//Implement the class Box  
class Box 
{
    private:
    //l,b,h are integers representing the dimensions of the box
    int length, breadth, height;
    public:
    // Constructors: 
    // Box();
    Box() 
    {
        length = 0;
        breadth = 0;
        height = 0;
    }
    // Box(int,int,int);
    Box(int l, int b, int h) 
    {
        length = l;
        breadth = b;
        height = h;
    }
    // Box(Box);
    Box(const Box &B) 
    {
        length = B.length;
        breadth = B.breadth;
        height = B.height;
    }
    // int getLength(); // Return box's length
    int getLength() 
    {
        return length;
    }
    // int getBreadth (); // Return box's breadth
    int getBreadth() 
    {
        return breadth;
    }
    // int getHeight ();  //Return box's height
    int getHeight() 
    {
        return height;
    }
    // long long CalculateVolume(); // Return the volume of the box
    long long CalculateVolume() 
    {
        return (long long)(breadth) * length * height;
    }
    //Overload operator < as specified
    //bool operator<(Box& b)
    bool operator<(Box &B) 
    {
        if (length < B.length) 
        {
            return true;
        } 
        else if (length == B.length) 
        {
            if (breadth < B.breadth) 
            {
                return true;
            } 
            else if (breadth == B.breadth) 
            {
                if (height < B.height) 
                {
                return true;
                }
            }
        }

        return false;
    }
};
//Overload operator << as specified
//ostream& operator<<(ostream& out, Box& B)
ostream &operator<<(ostream &out, Box &B) 
{
    out << B.getLength() << " " << B.getBreadth() << " " << B.getHeight();
    return out;
};

void check2()
{
int n;
cin>>n;
Box temp;
for(int i=0;i<n;i++)
{
int type;
cin>>type;
if(type ==1)
{
cout<<temp<<endl;
}
if(type == 2)
{
int l,b,h;
cin>>l>>b>>h;
Box NewBox(l,b,h);
temp=NewBox;
cout<<temp<<endl;
}
if(type==3)
{
int l,b,h;
cin>>l>>b>>h;
Box NewBox(l,b,h);
if(NewBox<temp)
{
cout<<"Lesser\n";
}
else
{
cout<<"Greater\n";
}
}
if(type==4)
{
cout<<temp.CalculateVolume()<<endl;
}
if(type==5)
{
Box NewBox(temp);
cout<<NewBox<<endl;
}

}
}

int main()
{
check2();
}


Disclaimer: The above Problem (Box it! ) is generated by Hackerrank but the Solution is Provided by MultiplexCoder. This tutorial is only for Educational and Learning purposes.

Tags:    hackerrank c++ solutions | Functions Discussions | C++ | HackerRank | student analysis C++ hackerrank solution | challenges C++ hackerrank solution | hackerrank C++ basic certification solutions | hackerrank-C++ certification solutions | basic data types hackerrank solution in c++ | variable sized arrays hackerrank solution in c++ | inherited code hackerrank solution in c++ | hackerrank c++ solutions github | hackerrank data structures solutions in c++ | hackerrank c++ class solution | pointer hackerrank solution in c++ | box it hackerrank solution in c++

Previous
Next Post »