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