class Sobrecarga
{
private:
double x,y,saida_tela;
public:
//Construtor
Sobrecarga(double valor);
//Operadores unários
//Sobrecarga& operator++(int);
Sobrecarga& operator++();
Sobrecarga& operator--(int);
Sobrecarga& operator--();
//Operador binnario
Sobrecarga operator+(Sobrecarga s1);
//função amiga para imprimir o valor de "a"
friend ostream& operator<<(ostream& os, Sobrecarga obj);
};
Sobrecarga::Sobrecarga(double valor)
{
saida_tela=valor;
x = valor;
y = valor;
}
Sobrecarga& Sobrecarga::operator++()
{
this->x++;
this->y++;
this->saida_tela++;
return *this;
}
/*Sobrecarga& Sobrecarga::operator++(int)
{
this->x++;
this->y++;
this->saida_tela++;
return *this;
}
*/
ostream &operator<<(ostream& os, Sobrecarga obj)
{
//os << obj.x;
//os << obj.y;
os << obj.saida_tela;
return os;
}
int main()
{
Sobrecarga a(4.0);
cout << "Saida original de \"a\"." << endl;
cout << a << endl;
cout << "Saidal de \"a++\"." << endl;
a++;
cout << a << endl;
return 0;
}
Erro:
Teste.cpp:88:7: error: no 'operator++(int)' declared for postfix '++' [-fpermissive]
Se eu destravar a função que faz o incremento com argumento int o erro desaparece. Por que uma parece estar dependendo da outra? Se eu fizer o mesmo com a função que sobrecarrega o operador de decremento, o erro é o mesmo.
Pergunta
Castro
:wacko:
Vejam o código:
Erro:
Se eu destravar a função que faz o incremento com argumento int o erro desaparece. Por que uma parece estar dependendo da outra? Se eu fizer o mesmo com a função que sobrecarrega o operador de decremento, o erro é o mesmo.
Obrigado
Editado por CastroLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.