> 백엔드 개발 > C++ > 본문

상자를 만들고 부피를 계산하고 미만 연산자를 사용하여 확인하는 C++ 프로그램

PHPz
풀어 주다: 2023-08-30 14:49:13
앞으로
1273명이 탐색했습니다.

상자를 만들고 부피를 계산하고 미만 연산자를 사용하여 확인하는 C++ 프로그램

몇 가지 조건으로 박스 클래스를 정의해야 한다고 가정해 보겠습니다. 다음과 같이 -

  • 세 가지 속성 l, b 및 h는 각각 길이, 너비 및 높이를 나타냅니다(이들은 개인 변수입니다).

  • l, b, h를 0으로 설정하도록 비매개변수 생성자를 정의하고 정의합니다. 초기에 값을 설정하는 매개변수화된 생성자.

  • 각 속성의 getter 메서드 정의

  • 상자의 부피를 가져오는 계산Volume() 함수 정의

  • 오버로드된 미만 연산자(

  • 생성된 상자 수를 계산하는 변수를 만듭니다.

  • 그래서 세 개의 상자 (0, 0, 0) (5, 8, 3), (6, 3, 8)을 입력하고 각 상자의 데이터를 표시하고 세 번째 상자가 더 작은지 확인하면 두 번째 상자보다 큰 상자를 찾고, 더 작은 상자의 부피를 찾고, 변수를 세어 얼마나 많은 상자가 있는지 인쇄합니다.

    그러면 출력은 다음과 같습니다.

    Box 1: (length = 0, breadth = 0, width = 0)
    Box 2: (length = 5, breadth = 8, width = 3)
    Box 3: (length = 6, breadth = 3, width = 8)
    Box 3 is smaller, its volume: 120
    There are total 3 box(es)
    로그인 후 복사
    로그인 후 복사

    이 문제를 해결하려면 다음 단계를 따르세요.

    • 부피를 계산하려면 l*b*h를 반환해야 합니다

    • 보다 작은 값(<)을 오버로드하려면 연산자를 사용하려면 <) 运算符,我们必须检查

    • 현재 객체의 l이 다른 객체의 l과 다른지 확인해야 하며,

      • 는 현재 객체의 l이 다른 객체의 l보다 작으면 true를 반환합니다.

    • else , 현재 객체의 b가 다른 객체의 주어진 b와 다를 때 현재 객체의 b가 다른 객체의 b보다 작으면

      • 은 true를 반환합니다.

    • 그렇지 않으면 현재 객체 h가 h와 다른 객체가 주어지면

      • 현재 객체의 h가 다른 객체의 h보다 작으면 true를 반환합니다.

    더 나은 이해를 위해 다음 구현을 살펴보겠습니다. -

    #include <iostream>
    using namespace std;
    class Box {
        int l, b, h;
    public:
        static int count;
        Box() : l(0), b(0), h(0) { count++; }
        Box(int length, int breadth, int height) : l(length), b(breadth), h(height) { count++; }
        int getLength() const {return l;}
        int getBreadth() const {return b;}
        int getHeight() const {return h;}
        long long CalculateVolume() const {
            return 1LL * l * b * h;
        }
        bool operator<(const Box& another) const {
            if (l != another.l) {
                return l < another.l;
            }
            if (b != another.b) {
                return b < another.b;
            }
            return h < another.h;
        }
    };
    int Box::count = 0;
    int main(){
        Box b1;
        Box b2(5,8,3);
        Box b3(6,3,8);
        printf("Box 1: (length = %d, breadth = %d, width = %d)\n",b1.getLength(), b1.getBreadth(), b1.getHeight());
        printf("Box 2: (length = %d, breadth = %d, width = %d)\n",b2.getLength(), b2.getBreadth(), b2.getHeight());
        printf("Box 3: (length = %d, breadth = %d, width = %d)\n",b3.getLength(), b3.getBreadth(), b3.getHeight());
        if(b3 < b2){
            cout << "Box 3 is smaller, its volume: " << b3.CalculateVolume() << endl;
        }else{
            cout << "Box 3 is smaller, its volume: " << b2.CalculateVolume() << endl;
        }
        cout << "There are total " << Box::count << " box(es)";
    }
    
    로그인 후 복사

    입력

    b1; b2(5,8,3); b3(6,3,8);
    로그인 후 복사

    출력

    Box 1: (length = 0, breadth = 0, width = 0)
    Box 2: (length = 5, breadth = 8, width = 3)
    Box 3: (length = 6, breadth = 3, width = 8)
    Box 3 is smaller, its volume: 120
    There are total 3 box(es)
    로그인 후 복사
    로그인 후 복사

위 내용은 상자를 만들고 부피를 계산하고 미만 연산자를 사용하여 확인하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿