Maison >développement back-end >C++ >Programme C++ pour créer une boîte, calculer le volume et vérifier en utilisant l'opérateur inférieur à

Programme C++ pour créer une boîte, calculer le volume et vérifier en utilisant l'opérateur inférieur à

PHPz
PHPzavant
2023-08-30 14:49:131316parcourir

Programme C++ pour créer une boîte, calculer le volume et vérifier en utilisant lopérateur inférieur à

Supposons que nous devions définir une classe de boîte avec quelques conditions. Comme suit -

  • Les trois attributs l, b et h représentent respectivement la longueur, la largeur et la hauteur (ce sont des variables privées)

  • Définissez un constructeur non paramétrique pour définir l, b, h à 0 et définissez un constructeur paramétré pour définir initialement les valeurs.

  • Définir la méthode getter de chaque attribut

  • Définir une fonction calculateVolume() pour obtenir le volume de la boîte

  • L'opérateur Surchargé inférieur à (

  • Créez une variable qui compte le nombre de cases créées.

  • Donc, si nous entrons trois cases (0, 0, 0) (5, 8, 3), (6, 3, 8) et affichons les données pour chaque case et vérifions si la troisième case est plus petite Est-ce la petite une plus grande que la seconde, trouvez le volume de la plus petite boîte et imprimez le nombre de boîtes dont elle dispose en comptant la variable.

    Ensuite, la sortie sera

    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)

    Pour résoudre ce problème, nous suivrons les étapes suivantes-

    • Pour calculer le volume que nous devons retourner l*b*h

      li>
    • Pour surcharger le moins de (

    • le l de l'objet actuel est différent du l étant donné un autre objet, puis

      • renvoie vrai si le l de l'objet actuel est inférieur au l de l'autre objet

    • else , lorsque le b de l'objet actuel est différent du b donné d'un autre objet, alors

      • renvoie vrai si le b de l'objet actuel est plus petit que le b de l'autre objet

    • Sinon, lorsque l'objet actuel Quand h est différent de h étant donné un autre objet, alors

      • Renvoie vrai si h de l'objet actuel est inférieur à h d'un autre objet

    Exemple

    Regardons l'implémentation suivante pour une meilleure compréhension -

    #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)";
    }
    

    entrée

    b1; b2(5,8,3); b3(6,3,8);

    sortie

    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)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer