Jump to content
Fórum Script Brasil
  • 0

Erro ao compilar programa – sobrecarga de operador


Castro

Question

:(

O programa abaixo apresentou erro de compilação após eu inserir um construtor. Vejam:

#include <iostream>
#include <cstdlib>
using namespace std;

class Sobrecarga
{
    private:
            double x,y,n; 
            
    public:
    Sobrecarga(double num){n = num;};
    //Operadores unários
    Sobrecarga operator++(int);
    Sobrecarga operator++(); 
    Sobrecarga operator--(int);
    Sobrecarga operator--();
    //Operador binnario  
    Sobrecarga operator+(Sobrecarga s1);
};

Sobrecarga Sobrecarga::operator++()
 {
    this->x++;
    this->y++;
return *this;
 }

Sobrecarga Sobrecarga::operator++(int)
{
    this->x++;
    this->y++;
return *this;
} 

Sobrecarga Sobrecarga::operator--(int)
{
    this->x--;
    this->y--;
return *this;
}   

Sobrecarga Sobrecarga::operator--()
{
    this->x--;
    this->y--;
return *this;
} 
 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);
     
     a++;
    return 0;
}

Erros:

Sobrecarga_operador.cpp:51:13: error: no matching function for call to 'Sobrecarga::Sobrecarga()'

Sobrecarga_operador.cpp:51:13: note: candidates are:

Sobrecarga_operador.cpp:12:2: note: Sobrecarga::Sobrecarga(double)

Sobrecarga_operador.cpp:12:2: 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

Como resolver estes problemas ?

Obrigado

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

você não tem um construtor Sobrecarga(void) na sua classe pra fazer Sobrecarga temp funcionar.

Muda pra Sobrecarga temp(0); que vai funcionar.

ou cria um construtor Sobrecarga(void) {n = 0;}

Abs

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...