Sobrecarga de Métodos en C++

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos cómo demostrar el concepto de Sobrecarga de Métodos en el lenguaje de programación C++. La Sobrecarga de Métodos es un concepto en el que podemos tener múltiples métodos o funciones con el mismo nombre en una clase, pero con parámetros diferentes. El método adecuado se llama en función del número y los tipos de parámetros pasados durante la llamada al método.


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{{"Sobrecarga de Métodos en C++"}} cpp/class_methods -.-> lab-96149{{"Sobrecarga de Métodos en C++"}} cpp/output -.-> lab-96149{{"Sobrecarga de Métodos en C++"}} cpp/user_input -.-> lab-96149{{"Sobrecarga de Métodos en C++"}} cpp/files -.-> lab-96149{{"Sobrecarga de Métodos en C++"}} cpp/code_formatting -.-> lab-96149{{"Sobrecarga de Métodos en C++"}} end

Crea un archivo C++

Primero, creamos un nuevo archivo C++ llamado main.cpp en el directorio ~/project usando el siguiente comando:

touch ~/project/main.cpp

Escribe el código

Vamos a crear una clase llamada shape y definir dos métodos llamados area(), pero con un número diferente de parámetros. El método input() tomará la entrada del usuario para establecer los valores de las variables miembro l, b y s. Luego definiremos el método main() para acceder a los miembros de la clase shape desde fuera de la clase.

#include <iostream>

using namespace std;

class shape {

    //declarando variables miembro
    public:
        int l, b, s;

    //definiendo funciones miembro o métodos
    public:
        void input() {
            cout << "Ingrese la longitud de cada lado del Cuadrado: \n";
            cin >> s;
            cout << "\n";
            cout << "Ingrese la longitud y el ancho del Rectángulo: \n";
            cin >> l >> b;
            cout << "\n";
        }

    //Demostrando la Sobrecarga de Métodos
    public:
        void area(int side) {
            cout << "Área del Cuadrado = " << side * side << endl;
        }

        void area(int length, int breadth) {
            cout << "Área del Rectángulo = " << length * breadth << endl;
        }
};

int main() {
    cout << "\n\nBienvenido a LabEx :-)\n\n\n";
    cout << " =====  Programa para demostrar la Sobrecarga de Métodos en una Clase, en CPP  ===== \n\n";

    //Declarando objeto de clase para acceder a los miembros de la clase desde fuera de la clase
    shape sh;

    cout << "\nLlamando a la función input() para tomar los valores del usuario\n";
    sh.input();

    cout << "\nLlamando a la función area(int) para calcular el área del Cuadrado\n";
    sh.area(sh.s);

    cout << "\nLlamando a la función area(int,int) para calcular el área del Rectángulo\n";
    sh.area(sh.l, sh.b);

    cout << "\nSaliendo del método main()\n\n\n";

    return 0;
}

Compila y ejecuta el código

Ahora compilaremos y ejecutaremos el código usando el siguiente comando:

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

Entiende la salida

La salida del programa será la siguiente:

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

Aquí, podemos ver que se llama al método input() para aceptar la entrada del usuario. Luego, se llama al método area() con un parámetro para calcular el área de un cuadrado, y se llama al método area() con dos parámetros para calcular el área de un rectángulo.

Resumen

En este laboratorio, aprendimos cómo usar el concepto de sobrecarga de métodos en el lenguaje de programación C++. Creamos un programa que define una clase llamada shape con dos métodos llamados area(), pero con un número diferente de parámetros, los cuales han sido sobrecargados. El usuario ingresa la longitud y el ancho de un rectángulo y la longitud de un lado de un cuadrado. Usamos los métodos sobrecargados para calcular las áreas de ambas figuras.