operators
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Índice |
[editar]Sobrecarga de operador
[editar]Sintaxe
typeoperator op( params) ; | |||||||||
[editar]Explicação
- <type> é / são o (s) das variáveis .Original:<type> is/are the type(s) of the variables.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - <op> é o operador particular (por exemplo
+
,+=
,<<
,>>
,&&
,||
,%
, etc).Original:<op> is the particular operator (e.g.+
,+=
,<<
,>>
,&&
,||
,%
, etc.).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - <params> é / são o (s) nome dos parâmetros necessários (depende da operadora).Original:<params> is/are the name(s) of the required parameters (depends on the operator).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[editar]Restrições
- Você não pode criar novos operadores, como
**
ou&|
.Original:You cannot create new operators such as**
or&|
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - Nem todos os operadores podem ser sobrecarregadosOriginal:Not all operators can be overloadedThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - Algumas operadoras só pode ser sobrecarregado como membros não-estáticos da classeOriginal:Some operators can only be overloaded as non-static class membersThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - Avaliação curto-circuito não funciona com operadores sobrecarregadosOriginal:Short-circuit evaluation doesn't work with overloaded operatorsThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[editar]Convida operador
You can help to correct and verify the translation. Click here for instructions.
a+b
You can help to correct and verify the translation. Click here for instructions.
operator+(a,b)
[editar]Exemplo
#include <iostream>usingnamespace std; class Fraction{private:int numerator, denominator; public: Fraction(int n, int d): numerator(n), denominator(d){}// Note that the keyword operator combined with an actual// operator is used as the function namefriend ostream& operator<<(ostream&, Fraction&);}; ostream& operator<<(ostream& out, Fraction& f){ out << f.numerator<<'/'<< f.denominator;return out;} int main(){ Fraction f1(3, 8); Fraction f2(1, 2); cout << f1 << endl; cout <<3<<' '<< f2 << endl; return0;}
Saída:
3/8 3 1/2
[editar]Consulte também
Operadores comuns | ||||||
---|---|---|---|---|---|---|
assinamento | incremento descremento | aritmético | lógico | comparação | acesso de membro | outros |
a = b | ++a | +a | !a | a == b | a[b] | a(...) |
Operadores Especiais | ||||||
static_cast converte um tipo a um outro tipo relacionado |