# Box It Hackerrank Solution in C++ | All Hackerrank Solution

Box It Hackerrank Solution in C++. Design a class named Box whose dimensions are integers and private to the class. The dimensions are labelled: length, breadth b, and height h. The default constructor of the class should initialize l, b, and h to 0. The parameterized constructor Box(int length, int breadth, int height) should initialize Box's l, b and h to length, breadth and height.

The copy constructor BoxBox B) should set l, b and h to B's l, b and h, respectively.

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

• int getLength() - Return box's length
• 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. A.b < B.b and A.l==B.l
3. A.h < H.h and A.b==B.b and B.b==B.l

Overload operator << for the class Box().
If B is an object of class Box:

cout<<B should print B.l, B.b and B.h on a single line separated by spaces.

For example,

Box b1; // Should set b1.l = b1.b = b1.h = 0;
Box b2(2, 3, 4); // Should set b1.l = 2, b1.b = 3, b1.h = 4;
b2.getLength(); // Should return 2
b2.getheight(); // Should return 4
b2.CalculateVolume(); // Should return 24
bool x = (b1 < b2); // Should return true based on the conditions given
cout<<b2; // Should print 2 3 4 in order.

Constraints

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

## Box It Hackerrank Solution in C++

``````#include <bits/stdc++.h>
using namespace std;
//Implement the class Box
//l,b,h are integers representing the dimensions of the box

// The class should have the following functions :

// Constructors:
// Box();
// Box(int,int,int);
// Box(Box);

// int getLength();	// Return box's length
// int getHeight (); 	//Return box's height
// long long CalculateVolume();	// Return the volume of the box

//bool operator<(Box& b)

//ostream& operator<<(ostream& out, Box& B)

class Box
{
long long int l, b, h;

public:
Box()
{
l = 0, b = 0, h = 0;
}

Box(int length, int breadth, int height)
{
l = length;
h = height;
}

Box(Box & B)
{
l = B.l;
b = B.b;
h = B.h;
}

int getLength()	// Return box's length
{
return (l);
}

{
return (b);
}

int getHeight()	//Return box's height
{
return (h);
}

long long CalculateVolume()
{
return (long long)(l *b *h);
}

bool operator < (const Box &c1)
{
if ((l < c1.l) || ((b < c1.b) && (l == c1.l)) || ((h < c1.h) && (b == c1.b) && (l == c1.l)))
{
return true;
}
else
{
return false;
}
}

friend ostream &operator<<(ostream &os, const Box &dt);
};

ostream &operator<<(ostream &os, const Box &dt)
{
os << dt.l << ' ' << dt.b << ' ' << dt.h;
return os;
}``````

### Similar to Box It!

Previous Post
Next Post

#### post written by: Ghanendra Yadav

Hi, I’m Ghanendra Yadav, SEO Expert, Professional Blogger, Programmer, and UI Developer. Get a Solution of More Than 500+ Programming Problems, and Practice All Programs in C, C++, and Java Languages. Get a Competitive Website Solution also Ie. Hackerrank Solutions and Geeksforgeeks Solutions. If You Are Interested to Learn a C Programming Language and You Don't Have Experience in Any Programming, You Should Start with a C Programming Language, Read: List of Format Specifiers in C.