Introdução
Neste laboratório, aprenderemos como demonstrar o conceito de Method Overloading (Sobrecarga de Métodos) na linguagem de programação C++. Method Overloading é um conceito onde podemos ter múltiplos métodos ou funções com o mesmo nome em uma classe, mas com diferentes parâmetros. O método apropriado é chamado com base no número e tipos de parâmetros passados durante a chamada do método.
Criar um arquivo C++
Primeiramente, criamos um novo arquivo C++ chamado main.cpp no diretório ~/project usando o seguinte comando:
touch ~/project/main.cpp
Escrever o código
Criaremos uma classe chamada shape (forma) e definiremos dois métodos chamados area(), mas com diferentes números de parâmetros. O método input() receberá a entrada do usuário para definir os valores das variáveis membro l, b e s. Em seguida, definiremos o método main() para acessar os membros da classe shape de fora da classe.
#include <iostream>
using namespace std;
class shape {
//declaring member variables
public:
int l, b, s;
//defining member functions or methods
public:
void input() {
cout << "Enter the length of each side of the Square: \n";
cin >> s;
cout << "\n";
cout << "Enter the length and breadth of the Rectangle: \n";
cin >> l >> b;
cout << "\n";
}
//Demonstrating Method Overloading
public:
void area(int side) {
cout << "Area of Square = " << side * side << endl;
}
void area(int length, int breadth) {
cout << "Area of Rectangle = " << length * breadth << endl;
}
};
int main() {
cout << "\n\nWelcome to LabEx :-)\n\n\n";
cout << " ===== Program to demonstrate Method Overloading in a Class, in CPP ===== \n\n";
//Declaring class object to access class members from outside the class
shape sh;
cout << "\nCalling the input() function to take the values from the user\n";
sh.input();
cout << "\nCalling the area(int) function to calculate the area of the Square\n";
sh.area(sh.s);
cout << "\nCalling the area(int,int) function to calculate the area of the Rectangle\n";
sh.area(sh.l, sh.b);
cout << "\nExiting the main() method\n\n\n";
return 0;
}
Compilar e executar o código
Agora, compilaremos e executaremos o código usando o seguinte comando:
g++ main.cpp -o main && ./main
Compreender a saída
A saída do programa será a seguinte:
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
Aqui, podemos ver que o método input() é chamado para aceitar a entrada do usuário. O método area() com um parâmetro é então chamado para calcular a área de um quadrado, e o método area() com dois parâmetros é chamado para calcular a área de um retângulo.
Resumo
Neste laboratório, aprendemos como usar o conceito de method overloading (sobrecarga de métodos) na linguagem de programação C++. Criamos um programa que define uma classe chamada shape com dois métodos chamados area(), mas com diferentes números de parâmetros, que foram sobrecarregados. O usuário insere o comprimento e a largura de um retângulo e o comprimento de um lado de um quadrado. Usamos os métodos sobrecarregados para calcular as áreas de ambas as formas.



