English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C++ Sobrecarga de Operadores e Funções Sobrecarregadas
C++ O idioma suporta vários operadores de relação ( <, >, <=, >=, ==, etc.), que podem ser usados para comparar C++ Tipos de dados integrados.
Você pode sobrecarregar qualquer operador de relação, o operador de relação sobrecarregado pode ser usado para comparar objetos da classe.
O exemplo a seguir demonstra como sobrecarregar o operador <, da mesma forma, você também pode tentar sobrecarregar outros operadores de relação.
#include <iostream> using namespace std; class Distance { private: int feet; // 0 até infinito int inches; // 0 até 12 public: // Construtores necessários Distance(){ feet = 0; inches = 0; } Distance(int f, int i){ feet = f; inches = i; } // Método para exibir distância void displayDistance() { cout << "F: " << feet << " I:" << inches << endl; } // Sobrecarga do operador negativo ( - ) Distance operator- () { feet = -feet; inches = -inches; return Distance(feet, inches); } // Sobrecarga do operador de menor que ( < ) bool operator <(const Distance& d) { if(feet < d.feet) { return true; } if(feet == d.feet && inches < d.inches) { return true; } return false; } }; int main() { Distância D1(11, 10), D2(5, 11); if( D1 < D2 ) { cout << "D1Menor que D2 " << endl; } else { cout << "D2Menor que D1 " << endl; } return 0; }
Quando o código acima for compilado e executado, ele produzirá o seguinte resultado:
D2Menor que D1