#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 l,b,h ; // The class should have the following functions : public:// Constructors:Box(); Box():l(0),b(0),h(0) {} ;// Constructors:Box(int,int,int); Box(int a, int b, int c):l(a),b(b),h(c) {} ;// Constructors:Box(Box); Box(Box &Bb) { l = Bb.getLength(); b = Bb.getBreadth(); h = Bb.getHeight(); } // int getLength(); Return box's length int getLength() { return l; }// int getBreadth(); Return box's breadth int getBreadth() { return b; }// int getHeight(); Return box's height int getHeight() { return h; }// long long CalculateVolume(); Return the volume of the box long long CalculateVolume() { return (long long)l * (long long)b * (long long)h; }//Overload operator < as specified//bool operator<(Box& b) bool operator<( Box &Bb) { if(l < Bb.l) return true; if(b < Bb.b && l == Bb.l) return true; if(h < Bb.h && b == Bb.b && l == Bb.l) return true; return false; }};//Overload operator << as specified//ostream& operator<<(ostream& out, Box& B)ostream& operator<<(ostream& out, Box& Bb){ out << Bb.getLength() <<" "<< Bb.getBreadth() <<" "<<Bb.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();}
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 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 Box(Box 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:
Overload the operator <
for the class Box. Box A <
Box B if:
A.l
< B.l
A.b
< B.b
and A.l
== B.l
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.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 2b2.getBreadth(); // Should return 3b2.getheight();// Should return 4b2.CalculateVolume(); // Should return 24bool x = (b1 < b2);// Should return true based on the conditions givencout<<b2; // Should print 2 3 4 in order.
Constraints
0 ≤ l
,b
,h
≤ 10⁵
Two boxes being compared using the operator will not have all three dimensions equal.