#include <iostream>
using namespace std;
class classe
{
      public:
      int x,y;
     
      classe(){}//construtor padrão
      classe(int nx, int ny)//primeiro construtor sobrecarregado
      {
                 x=nx;
                 y=ny;
      }
      classe(int a)//segundo construtor sobrecarregado
      {
                 a=x+y;
      }
      
      classe operator + (int num)//operador + sobrecarregado
      {
             return classe(x+num, y+num);//retorna para o primeiro construtor sobrecarregado
      }
      
      classe operator - (classe aa)//perador - sobrecarregado
      {
             return classe (x+aa.y);//retorna para o segundo construtor sobrecarregado
      }
      void imprime1()
      {
           cout << x << " e " << y << "\n";
      }
      void imprime2()
      {
           cout << x+y << "\n";
      }
};

int main()
{
    classe aa(50, 20);
    cout << "\n\nValore iniciais de x e y repectivamente: ";
    aa.imprime1();
    
    aa=aa+10;
    cout << "soma x+10 e y+10\n";
    aa.imprime1();
    
    cout << "soma x+y\n";
    classe bb;
    bb=aa.x-aa.y;
    aa.imprime2();
        
    system("pause");
    return 0;
}
