Operador de comparação de sobrecarga C ++

Operador de comparação de sobrecarga C ++
Sobrecarga é o conceito que permite que o programador especifique mais de um método de diferentes funcionalidades. Isso não está apenas vinculado a métodos; Também podemos sobrecarregar os inúmeros operadores, como operadores de comparação. Os operadores são os símbolos que executam as operações nos operandos (os valores). A comparação é quando você compara dois valores uns com os outros usando as declarações de tomada de decisão. Sobrecarregar o operador de comparação significa definir mais de uma declaração de tomada de decisão de comparação. Realizamos uma comparação de sobrecarga nas aulas quando uma aula é empregada e definimos uma condição na classe. Fora da aula, também definimos a mesma condição para os objetos. Isso sobrecarrega o operador. Caso contrário, o compilador não seria capaz de lidar com essas condições.

Sintaxe do método:
Return_type Operator Operator_symbol ()

O método para um operador sobrecarregado é definido um pouco diferente. É um método do tipo de retorno que contém a palavra operadora com o operador_symbol que queremos sobrecarregar.

Sobrecarregar o operador de comparação

Existem seis operadores de tarefas e todos os seis podem ser sobrecarregados. Eles são chamados operadores de comparação porque comparam dois valores ou variáveis ​​(que armazenam os valores) entre si. Quando a condição é satisfeita, a próxima operação é realizada. É muito útil sobrecarregar os operadores quando precisamos comparar os valores entre si com base em diferentes condições. Os seis operadores de comparação com as funcionalidades são explicados na seguinte discussão.

1. < - O menos que o operador compara a seguinte condição: se o primeiro número inteiro for menor que o outro, execute o corpo.

2. > - O maior que o operador compara a seguinte condição: se o primeiro número inteiro for maior que o segundo, execute o corpo.

3. <= - O menor ou igual ao operador compara a seguinte condição: se o primeiro termo for menor ou igual ao segundo, execute o corpo.

4. > = - O maior ou igual ao operador compara a seguinte condição: Se o primeiro termo for maior ou igual ao segundo, execute o corpo.

5. == - O duplo é igual a verifica se os dois números inteiros são iguais ou não. Se sim, execute o corpo. Caso contrário, vá para a próxima declaração.

6. != - O operador não igual avalia se os dois termos não forem iguais. Se sim, execute o corpo. Caso contrário, a condição fica falsa e a próxima declaração será executada.

Comparamos todos os valores usando todos os seis operadores de comparação em pares: =, == e !=.

Sobrecarregar o < and <= Comparison Operators

Vamos comparar os dois valores usando o “<” and “<=” operators. Then, overload these operators.

Código:

#incluir
usando namespace std;
classe menos

privado :
número int;
público:
void input_0 ()
CIN >> Número;
Int Operador < (Less x)

se (númeroretornar 1;
outro
retornar 0;

Int Operador <= (Less x)

se (número<=x.number)
retornar 1;
outro
retornar 0;

;
int main ()

Menos n1, n2;
cout<<"Please enter 1st number. ";
N1. input_0 ();
cout<<"Please enter 2nd number. ";
n2. input_0 ();
if (n1cout<<"n1 is less than n2. ";
caso contrário, se (n1<=n2)
cout<<"n1 is less than or equal to n2. ";
outro
cout<<"n1 is not less than or equal to n2. ";
retornar 0;

Neste código, incorpore a biblioteca e o namespace std. Defina uma classe "menos" porque neste exemplo, sobrecarregamos o < (less than) and >”Para que o usuário possa inserir o número. Agora, sobrecarregar o menos do 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.

Sobrecarregar o menor ou 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.

Saída:

Por favor, digite o 1º número. 34
Por favor, digite o 2º número. 223
n1 é menor que n2.

Sobrecarregar os operadores de comparação> e> =

Vamos discutir o sobrecarga dos operadores ">" e "> =", executando o programa C ++.

Código:

#incluir
usando namespace std;
classe maior

privado :
número int;
público:
void input_0 ()
CIN >> Número;
Int Operador> (maior x)

se (número> x.número)
retornar 1;
outro
retornar 0;

INT Operador> = (maior x)

se (número> = x.número)
retornar 1;
outro
retornar 0;

;
int main ()

Maior 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. ";
caso contrário, se (n1> = n2)
cout<<"n1 is greater than or equal to n2. ";
outro
cout<<"n1 is not greater than or equal to n2. ";
retornar 0;

No início, digite #include e “Usando namespace std”. Depois disso, crie uma classe "maior", pois sobrecarregamos os operadores> (maior que) e> = (maior ou igual a) neste código. Defina um membro de dados de "número" da classe e defina este membro de dados como privado. Em seguida, crie um método input_0 () para obter os valores fornecidos pelo usuário. Esta função está definida para ser pública. Agora, o usuário pode mencionar o número usando o comando "CIN >>". Ao chamar o método do tipo de retorno inteiro e passar um argumento da classe "maior" para esse método, podemos sobrecarregar o operador maior que (>). Use a condição "se" para retornar 1 se o "número" for maior que "x.número". Caso contrário, retorne 0.

Repita este procedimento para sobrecarregar o operador (> =). Depois de chamar o método Main (), crie os objetos da classe "maior". Executar o “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.

Saída:

Por favor, digite o 1º número. 432
Por favor, digite o 2º número. 789
N1 não é maior ou igual a N2.

Sobrecarregar o == e != Operadores de comparação

Implemente o código para verificar se dois valores são iguais ou não usando == e !=. Além disso, mostre como esses operadores estão sobrecarregados.

Código:

#incluir
usando namespace std;
classe igual

privado :
número int;
público:
void get_input ()
CIN >> Número;
Int Operator == (igual x)

se (número == x.número)
retornar 1;
outro
retornar 0;

Int Operador != (Igual x)

se (número!= x.número)
retornar 1;
outro
retornar 0;

;
int main ()

N1, N2 igual;
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. ";
caso contrário, se (n1!= n2)
cout<<"n1 is not equal to n2. ";
outro
cout<<"Sorry ";
retornar 0;

Na primeira declaração, incorpore a biblioteca. Junto com isso, use o "espaço para nome de nome". Uma classe "igual" é criada para sobrecarregar o = (igual) e != (não igual) operadores. Defina uma variável "número" com um tipo int e defina o método get_input (). Agora, use "CIN >>" para obter o número inteiro do usuário. Depois disso, sobrecarregue o igual (=) e não igual (!=) Operadores empregando as funções do tipo inteiro e defina o operador sobrecarregado para == e != No corpo dessas funções. Além disso, use o método Main () para criar os objetos da classe "igual". Obtenha os valores digitados do usuário chamando a função get_input () duas vezes. Compare esses valores para verificar se são iguais ou não iguais. Não precisamos sobrecarregar os operadores iguais e não iguais, porque se os valores forem iguais, um operador igual sobrecarregado será executado. Caso contrário, o "else se" exibirá uma mensagem no terminal. Mas, para explicar o funcionamento dos dois métodos aqui, definimos os dois métodos sobrecarregados.

Saída:

Por favor, digite o 1º número. 45
Por favor, digite o 2º número. 45
N1 é igual a N2.

Conclusão

Este guia mostra uma informação sobre o que são os operadores de comparação e como podemos sobrecarregá -los em c++. Sobrecarregar o operador de comparação é tão fácil e simples que é como sobrecarregar um método. Mas aqui, mencionamos o nome do operador sobrecarregado com a palavra -chave "operador". Todos os operadores de comparação estão sobrecarregados nos códigos deste guia.