C++——day4

思维导图:

2>成员函数版本实现算术运算符的重载

全局函数版本实现算术运算符的重载
 

#include <iostream>

using namespace std;
class Sor
{
private:
    int a;
    int b;
public:
    Sor()
    {}
    Sor(int a,int b):a(a),b(b)
    {}
    const Sor operator+(const Sor &other)const
    {
        Sor temp;
        temp.a=this->a+other.a;
        temp.b=this->b+other.b;
        return temp;
    }
    const Sor operator-(const Sor &other)const
    {
        Sor temp;
        temp.a=this->a-other.a;
        temp.b=this->b-other.b;
        return temp;
    }
    const Sor operator%(const Sor &other)const
    {
        Sor temp;
        temp.a=this->a%other.a;
        temp.b=this->b%other.b;
        return temp;
    }
    friend const Sor operator*(const Sor &L,const Sor &R);
    friend const Sor operator/(const Sor &L,const Sor &R);
    void show()
    {
        cout << "a = " << a << "  b = " << b << endl;
    }
};
const Sor operator*(const Sor &L,const Sor &R)
{
    Sor temp;
    temp.a=L.a*R.a;
    temp.b=L.b*R.b;
    return temp;
}
const Sor operator/(const Sor &L,const Sor &R)
{
    Sor temp;
    temp.a=L.a/R.a;
    temp.b=L.b/R.b;
    return temp;
}
int main()
{
    Sor s1(2,3);
    Sor s2(4,5);
    Sor s3;
    s3=s1+s2;
    s3.show();
    s3=s2-s1;
    s3.show();
    s3=s1*s2;
    s3.show();
    s3=s2/s1;
    s3.show();
    s3=s1%s2;
    s3.show();
    return 0;
}

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值