Operador de comparación de sobrecarga de C ++

Operador de comparación de sobrecarga de C ++
La sobrecarga es el concepto que permite al programador especificar más de un método de diferentes funcionalidades. Esto no está solo vinculado a los métodos; También podemos sobrecargar los numerosos operadores, como los operadores de comparación. Los operadores son los símbolos que realizan las operaciones en los operandos (los valores). La comparación es cuando se compara dos valores entre sí utilizando las declaraciones de toma de decisiones. Sobrecargar el operador de comparación significa definir más de una declaración de toma de decisiones de comparación. Realizamos una comparación de sobrecarga en las clases cuando se emplea una clase y establecemos una condición en la clase. Fuera de la clase, también establecemos la misma condición para los objetos. Esto sobrecarga al operador. De lo contrario, el compilador no podría manejar estas condiciones.

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.