C ++ relación sobrecarga de operadores
C ++ sobrecarga de funciones y la sobrecarga de operadores
lenguaje C ++ es compatible con una variedad de operadores relacionales (<,>, <=,> =, ==, etc.), que pueden ser utilizados para comparar el C ++ incorporado en los tipos de datos.
Puede anular cualquiera de los operadores relacionales, los operadores relacionales sobrecargados pueden ser usados para comparar los objetos de la clase.
El siguiente ejemplo demuestra cómo sobrecargado <operador. Del mismo modo, también puede probar otros operadores relacionales sobrecargados.
#include <iostream> using namespace std; class Distance { private: int feet; // 0 到无穷 int inches; // 0 到 12 public: // 所需的构造函数 Distance(){ feet = 0; inches = 0; } Distance(int f, int i){ feet = f; inches = i; } // 显示距离的方法 void displayDistance() { cout << "F: " << feet << " I:" << inches <<endl; } // 重载负运算符( - ) Distance operator- () { feet = -feet; inches = -inches; return Distance(feet, inches); } // 重载小于运算符( < ) bool operator <(const Distance& d) { if(feet < d.feet) { return true; } if(feet == d.feet && inches < d.inches) { return true; } return false; } }; int main() { Distance D1(11, 10), D2(5, 11); if( D1 < D2 ) { cout << "D1 is less than D2 " << endl; } else { cout << "D2 is less than D1 " << endl; } return 0; }
Cuando el código se compila y ejecuta, produce los siguientes resultados:
D2 is less than D1