Перегрузка арифметических операторов в c ++ - PullRequest
0 голосов
/ 19 сентября 2018
#include<iostream>
using namespace std;
class money
{
    int rs;  
    int p; 

    public:

    void setdata (int x , int y) 

     {rs=x; p=y;}

    void show() 

   { cout  <<rs  <<"."  <<p; }  

    money operator += (int a)  {

    money temp;
    temp.rs=rs+a.rs;
    temp.p=p+a.p;   
    return (temp);  
    }
};



  int main() {

    money c1,c2;

    c1.setdata(8,2);

    c2=c1.operator+=(4);

    c2.show();

}

Может кто-нибудь сказать мне, почему оператор + = перегрузка не работает?

Мой желаемый выходной сигнал равен 12,2, но полученный выходной сигнал равен 16,2.

IЯ посылаю 4 в качестве аргумента, и я хочу, чтобы этот аргумент был добавлен в часть r (рупия)

1 Ответ

0 голосов
/ 19 сентября 2018
#include<iostream>
using namespace std;
class money
{
    int rs;  
    int p; 

    public:

    void setdata (int x , int y) 

     {rs=x; p=y;}

    void show() 

   { cout  <<rs  <<"."  <<p; }  

   money& operator+=(int a) 
   { rs += a; return *this; }
};



  int main() {

    money c1,c2;

    c1.setdata(4,2);

     c2=c1+=(4);               //c2=c1.operator+=(4);

    c2.show();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...