English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ sobre carga de operadores binários

C++ Sobrecarga de Operador e Sobrecarga de Função

operadores binários precisam de dois parâmetros, aqui está um exemplo de operadores binários. O operador de adição que usamos no dia-a-dia( + )、operador de subtração( - )、operador de multiplicação( * )。E também, você pode tentar sobrecarregar o operador de divisão( / )são operadores binários. Como a adição(+operador).

O exemplo a seguir demonstra como sobrecarregar o operador de adição( + )。Da mesma forma, você também pode tentar sobrecarregar o operador de subtração( - )。E também, você pode tentar sobrecarregar o operador de divisão( / )。

#include <iostream>
using namespace std;
 
class Box
{
   double length;      // comprimento
   double breadth;     // largura
   double height;      // altura
public:
 
   double getVolume(void)
   {
      return length * breadth * height;
   }
   void setLength( double len )
   {
       length = len;
   }
 
   void setBreadth( double bre )
   {
       breadth = bre;
   }
 
   void setHeight( double hei )
   {
       height = hei;
   }
   // sobre carga + operador, usado para somar dois objetos Box
   Box operador+(const Box& b)
   {
      Box box;
      box.length = this->length + b.length;
      box.breadth = this->breadth + b.breadth;
      box.height = this->height + b.height;
      return box;
   }
};
// função principal do programa
int main( )
{
   Box Box1;                // declarar Box1,tipo de Box
   Box Box2;                // declarar Box2,tipo de Box
   Box Box3;                // declarar Box3,tipo de Box
   double volume = 0.0;     // Armazenar o volume na variável
 
   // Caixa1 Detalhamento
   Caixa1.setLength(6.0); 
   Caixa1.setWidth(7.0); 
   Caixa1.setHeight(5.0);
 
   // Caixa2 Detalhamento
   Caixa2.setLength(12.0); 
   Caixa2.setWidth(13.0); 
   Caixa2.setHeight(10.0);
 
   // Caixa1 Volume
   volume = Caixa1.getVolume();
   cout << "Caixa1 Volume: " << volume << endl;
 
   // Caixa2 Volume
   volume = Caixa2.getVolume();
   cout << "Caixa2 Volume: " << volume << endl;
 
   // Somar dois objetos, obter Caixa3
   Caixa3 = Caixa1 + Caixa2;
 
   // Caixa3 Volume
   volume = Caixa3.getVolume();
   cout << "Caixa3 Volume: " << volume << endl;
 
   return 0;
}

Quando o código acima for compilado e executado, ele produzirá os seguintes resultados:

Caixa1 Volume: : 210
Caixa2 Volume: : 1560
Caixa3 Volume: : 5400

C++ Sobrecarga de Operador e Sobrecarga de Função