Programar em C++/Sobrecarga de operadores: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 50:
}
</source>
 
A sintaxe desta definição, muitas vezes causa confusão, mas poderá ser facilmente entendida depois que tenhamos assimilado as idéias básicas por traz dela. Ela opera, aparentemente, apenas um dado de entrada, porém o operador deve somar dois pontos. Como isto é possível. Observando mais atentamente o código, poderemos entender.
 
Verificamos que no código nos referimos a x e y sem definir a que objeto pertence. Esta é a primeira coisa a ter em mente: ''O operador "pertence" a um dos objetos que está sendo operado.'' Com isso, só precisamos declarar o segundo dado a operar. Podemos visualizar isto melhor, da seguinte forma:
 
<font color=red>P3</font> = <u><b><i>P1 + </i></b></u> <font color=blue>P2</font>;
 
Que pode ser entendido como a invocação da função:
 
<font color=red>P3</font> = <u><b><i>P1.operator+( </i></b></u> <font color=blue>P2</font><u><b><i>)</i></b></u>;
 
{{AutoCat}}