Sintaxis del método:
Return_type Operator Operator_symbol ()
El método para un operador sobrecargado se define de manera un poco diferente. Es un método de tipo de retorno que contiene el operador de palabras con el operador_symbol que queremos sobrecargar.
Sobrecarga el operador de comparación
Hay seis operadores de asignación y los seis se pueden sobrecargar. Estos se llaman operadores de comparación porque comparan dos valores o variables (que almacenan los valores) entre sí. Cuando se satisface la condición, se realiza la siguiente operación. Es muy útil sobrecargar los operadores cuando tenemos que comparar los valores entre sí en función de diferentes condiciones. Los seis operadores de comparación con las funcionalidades se explican en la siguiente discusión.
1. < - El operador menor compara la siguiente condición: si el primer entero es menor que el otro, ejecute el cuerpo.
2. > - El mayor que el operador compara la siguiente condición: si el primer entero es mayor que el segundo, ejecute el cuerpo.
3. <= - El menor o igual al operador compara la siguiente condición: si el primer término es menor o igual al segundo, ejecute el cuerpo.
4. > = - El mayor o igual al operador compara la siguiente condición: si el primer término es mayor o igual al segundo, ejecute el cuerpo.
5. == - El doble igual verifica si los dos enteros son iguales o no. En caso afirmativo, ejecute el cuerpo. De lo contrario, pasar a la siguiente declaración.
6. != - El operador no igual evalúa si los dos términos no son iguales. En caso afirmativo, ejecute el cuerpo. De lo contrario, la condición se vuelve falsa y la siguiente declaración se ejecuta.
Comparamos todos los valores utilizando los seis operadores de comparación en pares: =, == y !=.
Sobrecargar el < and <= Comparison Operators
Comparemos los dos valores usando el "<” and “<=” operators. Then, overload these operators.
Código:
#incluir
usando el espacio de nombres STD;
Clase menos
privado :
int número;
público :
Void input_0 ()
Cin >> número;
operador int < (Less x)
if (númeroregresar 1;
demás
regresar 0;
operador int <= (Less x)
if (número<=x.number)
regresar 1;
demás
regresar 0;
;
int main ()
Menos N1, N2;
cout<<"Please enter 1st number. ";
N1. input_0 ();
cout<<"Please enter 2nd number. ";
N2. input_0 ();
Si (N1Cout<<"n1 is less than n2. ";
más si (n1<=n2)
Cout<<"n1 is less than or equal to n2. ";
demás
Cout<<"n1 is not less than or equal to n2. ";
regresar 0;
En este código, incorpore la biblioteca y el espacio de nombres STD. Definir una clase "menos" porque en este ejemplo, sobrecargamos el < (less than) and >"Para que el usuario pueda insertar el número. Ahora, sobrecarga a menos que (<) operator by defining the integer return type function as int operator <(). Within this function, specify an argument of the “Less” class. Next, apply the “if” condition. If the inserted number is less than “x.number”, return 1. Otherwise, return zero.
Sobrecargar el menos o igual a (<=) operator by implementing the same steps that we used to overload the (<) operator. Apply the main() function. Inside this, create two objects - “n1” and “n2” - of the “Less” class. Furthermore, use “cout<<” to print a message and call the input_0() method to get the values. Again, execute the “cout<<” and call the same method for object “n2”. Now, compare the first and second numbers. If n1 < n2, execute the body of “if”. And if n1<= n2, execute the body of the “else if”. Otherwise, execute the “else”. This way, we overload the operators.
Producción:
Ingrese el primer número. 34
Ingrese el segundo número. 223
N1 es inferior a N2.
Sobrecargar los operadores de comparación> y> =
Discutamos la sobrecarga de los operadores ">" y "> =" ejecutando el programa C ++.
Código:
#incluir
usando el espacio de nombres STD;
clase mayor
privado :
int número;
público :
Void input_0 ()
Cin >> número;
operador int> (mayor x)
if (número> x.número)
regresar 1;
demás
regresar 0;
operador int> = (mayor x)
if (número> = x.número)
regresar 1;
demás
regresar 0;
;
int main ()
Mayor N1, N2;
cout<<"Please Enter 1st number. ";
N1. input_0 ();
cout<<"Please Enter 2nd number. ";
N2. input_0 ();
if (n1> n2)
Cout<<"n1 is greater than n2. ";
else if (n1> = n2)
Cout<<"n1 is greater than or equal to n2. ";
demás
Cout<<"n1 is not greater than or equal to n2. ";
regresar 0;
Al comienzo, escriba #Include y "Usando el espacio de nombres STD". Después de esto, cree una clase "mayor" ya que sobrecargamos los operadores> (mayores que) y> = (mayores o iguales a) en este código. Definir un miembro de datos de "número" de la clase y establecer este miembro de datos como privado. Luego, cree un método input_0 () para obtener los valores proporcionados por el usuario. Esta función está configurada para ser pública. Ahora, el usuario puede mencionar el número usando el comando "Cin >>". Al llamar al método de tipo de retorno de entero y transmitir un argumento de la clase "mayor" a este método, podemos sobrecargar el operador mayor que (>). Use la condición "if" para devolver 1 si el "número" es mayor que "x.número". De lo contrario, regrese 0.
Repita este procedimiento para sobrecargar el operador (> =). Después de llamar al método main (), cree los objetos de la clase "mayor". Ejecutar el "Cout<<” statement and input_0() function for both objects of the class. Here, compare the input values. If the first condition is satisfied, the “if” body is implemented. If the second condition is satisfied, the “else-if” body is implemented. If no condition is satisfied, execute the “else” part.
Producción:
Ingrese el primer número. 432
Ingrese el segundo número. 789
N1 no es mayor o igual a N2.
Sobrecarga el == y != Operadores de comparación
Implemente el código para verificar si dos valores son iguales o no utilizando == y !=. Además, muestre cómo estos operadores están sobrecargados.
Código:
#incluir
usando el espacio de nombres STD;
clase igual
privado :
int número;
público :
vacío get_input ()
Cin >> número;
operador int == (igual x)
if (número == x.número)
regresar 1;
demás
regresar 0;
operador int != (Igual x)
if (número!= x.número)
regresar 1;
demás
regresar 0;
;
int main ()
Igual n1, n2;
cout<<"Please enter 1st number. ";
N1.Get_input ();
cout<<"Please enter 2nd number. ";
N2.Get_input ();
if (n1 == n2)
Cout<<"n1 is equal to n2. ";
más si (n1!= n2)
Cout<<"n1 is not equal to n2. ";
demás
Cout<<"Sorry ";
regresar 0;
En la primera declaración, incorpore la biblioteca. Junto con esto, use la "ETS de espacio de nombres". Se crea una clase "igual" para sobrecargar el = (igual) y != (no igual) operadores. Definir una variable de "número" que tiene un tipo int y defina el método get_input (). Ahora, use "Cin >>" para obtener el entero del usuario. Después de esto, sobrecarga el igual (=) y no igual (!=) operadores empleando las funciones del tipo entero y establece el operador sobrecargado en == y != en el cuerpo de estas funciones. Además, use el método main () para crear los objetos de la clase "igual". Obtenga los valores tipados del usuario llamando a la función get_input () dos veces. Compare estos valores para verificar si son iguales o no iguales. No necesitamos sobrecargar a los operadores iguales y no iguales porque si los valores son iguales, se ejecuta un operador igual sobrecargado. Si no, el "más si" mostrará un mensaje en la terminal. Pero, para explicar el funcionamiento de ambos métodos aquí, definimos los dos métodos sobrecargados.
Producción:
Ingrese el primer número. 45
Ingrese el segundo número. 45
N1 es igual a N2.
Conclusión
Esta guía muestra una información sobre cuáles son los operadores de comparación y cómo podemos sobrecargarlos en C++. La sobrecarga del operador de comparación es tan fácil y simple, es como sobrecargar un método. Pero aquí, mencionamos el nombre del operador sobrecargado con la palabra clave "Operador". Todos los operadores de comparación están sobrecargados en los códigos de esta guía.