<<Box It!>> _HakerRank_C++_Classes

#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:

int getLength() - Return box's lengthint getBreadth() - Return box's breadthint getHeight() - Return box's heightlong long CalculateVolume() - Return the volume of the box

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

A.l < B.lA.b < B.b and A.l == B.lA.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.


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章