首頁 > 後端開發 > C++ > 主體

C++程式建立盒子並計算體積,並使用小於運算子進行檢查

PHPz
發布: 2023-08-30 14:49:13
轉載
1278 人瀏覽過

C++程式建立盒子並計算體積,並使用小於運算子進行檢查

假設我們必須定義一個具有很少條件的盒子類別。如下-

  • 三個屬性l、b 和h 分別表示長度、寬度和高度(這些是私有變數)

  • 定義一個非參數化建構函式來將l、b、h 設為0,並定義一個參數化建構函式來初始設定值。

  • 定義每個屬性的getter方法

  • 定義一個函數calculateVolume()取得盒子的體積

  • 重載小於運算子(

  • 建立一個可以計算建立的方塊數量的變數。

  • 因此,如果我們輸入三個框(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

    • 否則,噹噹前物件的b 與給定另一個物件的b 不同時,則

      • 如果目前物件的b 較小,則傳回true比另一個物件的b

    • 否則,噹噹前對象的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
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板