Surcharge de méthode en C++

C++C++Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à démontrer le concept de surcharge de méthode dans le langage de programmation C++. La surcharge de méthode est un concept selon lequel nous pouvons avoir plusieurs méthodes ou fonctions avec le même nom dans une classe, mais avec des paramètres différents. La méthode appropriée est appelée en fonction du nombre et des types de paramètres passés lors de l'appel de la méthode.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/OOPGroup(["OOP"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/FunctionsGroup -.-> cpp/function_overloading("Function Overloading") cpp/OOPGroup -.-> cpp/class_methods("Class Methods") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/function_overloading -.-> lab-96149{{"Surcharge de méthode en C++"}} cpp/class_methods -.-> lab-96149{{"Surcharge de méthode en C++"}} cpp/output -.-> lab-96149{{"Surcharge de méthode en C++"}} cpp/user_input -.-> lab-96149{{"Surcharge de méthode en C++"}} cpp/files -.-> lab-96149{{"Surcharge de méthode en C++"}} cpp/code_formatting -.-> lab-96149{{"Surcharge de méthode en C++"}} end

Créer un fichier C++

Tout d'abord, nous créons un nouveau fichier C++ nommé main.cpp dans le répertoire ~/project en utilisant la commande suivante :

touch ~/project/main.cpp

Écrire le code

Nous allons créer une classe nommée shape et définir deux méthodes nommées area(), mais avec un nombre différent de paramètres. La méthode input() prendra des entrées de l'utilisateur pour définir les valeurs des variables membres l, b et s. Nous définirons ensuite la méthode main() pour accéder aux membres de la classe shape depuis l'extérieur de la classe.

#include <iostream>

using namespace std;

class shape {

    //déclaration des variables membres
    public:
        int l, b, s;

    //définition des fonctions membres ou méthodes
    public:
        void input() {
            cout << "Entrez la longueur de chaque côté du carré : \n";
            cin >> s;
            cout << "\n";
            cout << "Entrez la longueur et la largeur du rectangle : \n";
            cin >> l >> b;
            cout << "\n";
        }

    //Démonstration de la surcharge de méthode
    public:
        void area(int side) {
            cout << "Surface du carré = " << side * side << endl;
        }

        void area(int length, int breadth) {
            cout << "Surface du rectangle = " << length * breadth << endl;
        }
};

int main() {
    cout << "\n\nBienvenue dans LabEx :-)\n\n\n";
    cout << " =====  Programme pour démontrer la surcharge de méthode dans une classe, en CPP  ===== \n\n";

    //Déclaration d'un objet de classe pour accéder aux membres de la classe depuis l'extérieur de la classe
    shape sh;

    cout << "\nAppel de la fonction input() pour prendre les valeurs de l'utilisateur\n";
    sh.input();

    cout << "\nAppel de la fonction area(int) pour calculer la surface du carré\n";
    sh.area(sh.s);

    cout << "\nAppel de la fonction area(int,int) pour calculer la surface du rectangle\n";
    sh.area(sh.l, sh.b);

    cout << "\nSortie de la méthode main()\n\n\n";

    return 0;
}

Compiler et exécuter le code

Nous allons maintenant compiler et exécuter le code en utilisant la commande suivante :

g++ main.cpp -o main && ./main

Comprendre la sortie

La sortie du programme sera la suivante :

Welcome to LabEx :-)


 =====  Program to demonstrate Method Overloading in a Class, in CPP  =====

Calling the input() function to take the values from the user
Enter the length of each side of the Square:
4

Enter the length and breadth of the Rectangle:
5
6


Calling the area(int) function to calculate the area of the Square
Area of Square = 16

Calling the area(int,int) function to calculate the area of the Rectangle
Area of Rectangle = 30

Exiting the main() method

Ici, on peut voir que la méthode input() est appelée pour accepter les entrées de l'utilisateur. Ensuite, la méthode area() avec un paramètre est appelée pour calculer la surface d'un carré, et la méthode area() avec deux paramètres est appelée pour calculer la surface d'un rectangle.

Récapitulatif

Dans ce laboratoire, nous avons appris à utiliser le concept de surcharge de méthode dans le langage de programmation C++. Nous avons créé un programme qui définit une classe nommée shape avec deux méthodes nommées area(), mais avec un nombre différent de paramètres, qui ont été surchargées. L'utilisateur entre la longueur et la largeur d'un rectangle et la longueur d'un côté d'un carré. Nous avons utilisé les méthodes surchargées pour calculer les surfaces des deux formes.