Introdução
Neste laboratório, você aprenderá como demonstrar o conceito de sobrecarga do operador + na linguagem de programação C++. A sobrecarga de operadores é um recurso em C++ que permite que um único operador ou símbolo seja usado com diferentes significados, dependendo do contexto em que é usado. Neste laboratório, mostraremos como somar dois objetos Cuboid usando o operador +.
Criar um novo arquivo C++
Crie um novo arquivo C++ chamado main.cpp no diretório ~/project.
cd ~/project
touch main.cpp
Escreva o código para demonstrar a sobrecarga do operador +
Adicione o seguinte código a main.cpp para criar uma classe chamada Cuboid que representa um sólido retangular tridimensional:
#include <iostream>
using namespace std;
//definindo a classe Cuboid para demonstrar o conceito de Sobrecarga do Operador Mais em CPP
class Cuboid {
//Declarando variáveis membro da classe como públicas para acesso de fora da classe
public:
double length; // Comprimento do Cuboid
double breadth; // Largura do Cuboid
double height; // Altura do Cuboid
public:
double getVolume(void) {
return length * breadth * height;
}
void setLength(double l) {
length = l;
}
void setBreadth(double b) {
breadth = b;
}
void setHeight(double h) {
height = h;
}
// Sobrecarga do operador + para somar dois objetos Cuboid entre si.
Cuboid operator + (const Cuboid & c) {
Cuboid cuboid;
cuboid.length = this -> length + c.length;
cuboid.breadth = this -> breadth + c.breadth;
cuboid.height = this -> height + c.height;
return cuboid;
}
};
Definir a função principal (main)
Adicione o seguinte código a main.cpp para implementar a função main que cria três objetos Cuboid, define suas dimensões, calcula seus volumes, soma dois dos objetos e imprime as dimensões e o volume do objeto cuboid resultante:
//Definindo o método main para acessar os membros da classe
int main() {
cout << "\n\nBem-vindo ao LabEx :-)\n\n\n";
cout << " ===== Programa para demonstrar a Sobrecarga do Operador Mais, em CPP ===== \n\n";
//Declarando os objetos da Classe para acessar os membros da classe
Cuboid c1;
Cuboid c2;
Cuboid c3;
//Para armazenar o volume do Cuboid
double volume = 0.0;
// Definindo o comprimento, largura e altura para o primeiro objeto Cuboid: c1
c1.setLength(3.0);
c1.setBreadth(4.0);
c1.setHeight(5.0);
// Definindo o comprimento, largura e altura para o segundo objeto Cuboid: c2
c2.setLength(2.0);
c2.setBreadth(5.0);
c2.setHeight(8.0);
// Encontrando o Volume do primeiro Cuboid: c1
cout << "Chamando o método getVolume() para encontrar o volume do Cuboid c1\n";
volume = c1.getVolume();
cout << "Volume do Cuboid c1 é: " << volume << "\n\n\n";
// Encontrando o Volume do primeiro Cuboid: c1
cout << "Chamando o método getVolume() para encontrar o volume do Cuboid c2\n";
volume = c2.getVolume();
cout << "Volume do Cuboid c2 é: " << volume << "\n\n\n";
// Somando os dois objetos Cuboid c1 e c2 para formar o terceiro objeto c3:
c3 = c1 + c2;
// Imprimindo as dimensões do terceiro Cuboid: c3
cout << "Comprimento do Cuboid c3 é: " << c3.length << endl;
cout << "Largura do Cuboid c3 é: " << c3.breadth << endl;
cout << "Altura do Cuboid c3 é: " << c3.height << endl;
// Encontrando o Volume do terceiro Cuboid: c3
cout << "\n\nChamando o método getVolume() para encontrar o volume do Cuboid c3\n";
volume = c3.getVolume();
cout << "Volume do Cuboid c3 é: " << volume << endl;
cout << "\n\n\n";
return 0;
}
Compilar e executar o código
Use o seguinte comando para compilar e executar o código:
g++ main.cpp -o main && ./main
Você verá a seguinte saída:
Welcome to LabEx :-)
===== Program to demonstrate the Plus Operator Overloading, in CPP =====
Calling the getVolume() method to find the volume of Cuboid c1
Volume of the Cuboid c1 is : 60
Calling the getVolume() method to find the volume of Cuboid c2
Volume of the Cuboid c2 is : 80
Length of the Cuboid c3 is : 5
Breadth of the Cuboid c3 is : 9
Height of the Cuboid c3 is : 13
Calling the getVolume() method to find the volume of Cuboid c3
Volume of the Cuboid c3 is : 585
Resumo
Neste laboratório, você aprendeu como demonstrar o conceito de Sobrecarga do Operador + na linguagem de programação C++. A sobrecarga de operadores é um recurso poderoso e útil do C++ que permite que você use um operador com diferentes significados em diferentes contextos. Ao sobrecarregar o operador +, você pode somar dois objetos Cuboid entre si.



