Vejam o erro de compilação do programa. Estou tentando sobrecarregar o operador +
CODE
#include <iostream>
#include <cstdlib>
using namespace std;
class Sobrecarga
{
private:
double x,y,n,temp;
public:
Sobrecarga(double num);
//Operadores unários
Sobrecarga& operator++(int);
Sobrecarga& operator++();
Sobrecarga& operator--(int);
Sobrecarga& operator--();
//Operador binnario
Sobrecarga& operator+(Sobrecarga s1);
};
Sobrecarga::Sobrecarga(double num)
{
n = num;
}
Sobrecarga& Sobrecarga::operator+(Sobrecarga s1)
{
Sobrecarga temp;
temp.x= x + s1.x;
temp.y= y + s1.y;
return temp;
}
int main()
{
cout << "sobrecarga de operadores " << endl;
Sobrecarga a(6.0);
a++;
return 0;
}
#include <cstdlib>
using namespace std;
class Sobrecarga
{
private:
double x,y,n,temp;
public:
Sobrecarga(double num);
//Operadores unários
Sobrecarga& operator++(int);
Sobrecarga& operator++();
Sobrecarga& operator--(int);
Sobrecarga& operator--();
//Operador binnario
Sobrecarga& operator+(Sobrecarga s1);
};
Sobrecarga::Sobrecarga(double num)
{
n = num;
}
Sobrecarga& Sobrecarga::operator+(Sobrecarga s1)
{
Sobrecarga temp;
temp.x= x + s1.x;
temp.y= y + s1.y;
return temp;
}
int main()
{
cout << "sobrecarga de operadores " << endl;
Sobrecarga a(6.0);
a++;
return 0;
}
As linhas marcadas como erradas pelo compilador são:
CODE
Sobrecarga::Sobrecarga(double num)
E
CODE
Sobrecarga temp;
Erros:
QUOTE
Sobrecarga_operador.cpp:56:13: error: no matching function for call to 'Sobrecarga::Sobrecarga()'
Sobrecarga_operador.cpp:56:13: note: candidates are:
Sobrecarga_operador.cpp:22:1: note: Sobrecarga::Sobrecarga(double)
Sobrecarga_operador.cpp:22:1: note: candidate expects 1 argument, 0 provided
Sobrecarga_operador.cpp:6:7: note: Sobrecarga::Sobrecarga(const Sobrecarga&)
Sobrecarga_operador.cpp:6:7: note: candidate expects 1 argument, 0 provided
Sobrecarga_operador.cpp:56:13: warning: reference to local variable 'temp' returned [enabled by default]
Sobrecarga_operador.cpp:56:13: note: candidates are:
Sobrecarga_operador.cpp:22:1: note: Sobrecarga::Sobrecarga(double)
Sobrecarga_operador.cpp:22:1: note: candidate expects 1 argument, 0 provided
Sobrecarga_operador.cpp:6:7: note: Sobrecarga::Sobrecarga(const Sobrecarga&)
Sobrecarga_operador.cpp:6:7: note: candidate expects 1 argument, 0 provided
Sobrecarga_operador.cpp:56:13: warning: reference to local variable 'temp' returned [enabled by default]
Obrigado