Peixoto 0 Denunciar post Postado Maio 11, 2012 :upset: Imaginei que isto estivesse errado, fiz por não ver solução melhor no momento.. Eu tentei fazer: Sobrecarga Sobrecarga::operator+(Sobrecarga s1) { Sobrecarga temp(0.0); temp.x= x + s1.x; temp.y= y + s1.y; temp=s1; return temp; } Mas isso também está errado, pois não vejo como retornar temp para a Acho que fazer: temp=s1; não quardaria o valor certo. Não vejo uma solução que retorne corretamente temp; a partir do parâmetro s1 para mostrar: cout << "Saidal de \"a+\"." << endl; a+; //cout << a << endl; Que fazer? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Peixoto 0 Denunciar post Postado Maio 13, 2012 :upset: Imaginei que isto estivesse errado, fiz por não ver solução melhor no momento.. Eu tentei fazer: Sobrecarga Sobrecarga::operator+(Sobrecarga s1) { Sobrecarga temp(0.0); temp.x= x + s1.x; temp.y= y + s1.y; temp=s1; return temp; } Mas isso também está errado, pois não vejo como retornar temp para a Acho que fazer: temp=s1; Criei outro erro na função de sobrecarga. Alterei a chamada da sobrecarga do operador + int main() { Sobrecarga a(4.0); cout << "Saidal de \"a+\"." << endl; [i]a=a+a;[/i] // Fiz esta mudança. cout << a << endl; return 0; } O erro de compilação sumiu, mas o erro lógico da função de sobrecarga de + permanece. Que fazer? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
GBecker 51 Denunciar post Postado Maio 13, 2012 Peixoto, Na função de sobrecarga tente fazer isto: Sobrecarga Sobrecarga::operator+(Sobrecarga s1) { x = x + s1.x; y = y + s1.y; return *this; } O ponteiro this aponta para o próprio objeto que está chamando o método. http://pt.wikibooks.org/wiki/Programar_em_C%2B%2B/Ponteiros_e_matrizes#O_ponteiro_.22this.22 Espero ter ajudado, FLW! :grin: Compartilhar este post Link para o post Compartilhar em outros sites