Maison > développement back-end > C++ > le corps du texte

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

PHPz
Libérer: 2023-08-30 14:49:13
avant
1274 Les gens l'ont consulté

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)
    Copier après la connexion
    Copier après la connexion

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

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

    • Pour surcharger le moins de (<) opérateur , nous devons vérifier si <) 运算符,我们必须检查

    • 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)";
    }
    
    Copier après la connexion

    entrée

    b1; b2(5,8,3); b3(6,3,8);
    Copier après la connexion

    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)
    Copier après la connexion
    Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal