26/03/2023

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.

Box It Hackerrank Solution in C++

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. 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.getBreadth(); // Should return 3
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.

Submit your solution here: Click here

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 getBreadth ();	// Return box's breadth
// int getHeight (); 	//Return box's height
// long long CalculateVolume();	// Return the volume of the box

//Overload operator < as specified
//bool operator<(Box& b)

//Overload operator<<as specified
//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;
		b = breadth;
		h = height;
	}

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

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

	int getBreadth()	// Return box's breadth
	{
		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;
}

The Output of Box It Hackerrank Solution


The Output of Box It Hackerrank Solution

Similar to Box It!


Previous Post
Next Post

post written by:

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.
Follow Me

0 Comments: