运算符重载为成员函数,友元函数

重载运算符是函数重载的一种,
针对类对象进行操作,重载的函数中至少有一个是类对象
int operator +(ass numone, int num){...}
重载为类的成员函数,
单目运算符重载-操作数是访问本身的数据,由this指出
双目运算符重载-左操作数由this指针给出,右操作数由函数参数给出
显示调用-aa.operator(bb);
隐式调用-aa++bb;
重载为友元函数,

单目重载运算符时,由于要改变操作数自身的值,应采用引用参数传递

class point
{
private:
        int num;
public:
        point()
        {
                num = 0;
        }
        point(int n)
        {
                num = n;
        }
        point operator +(point mn);
        point operator ++();
        friend point operator -(point m, point n);
        friend point operator --(point &m);
        int get_num();
};
int point::get_num()
{
        return num;
}
point point::operator +(point mn)
{
        point item;
        item = num + mn.num;
        return item;
}
point point::operator ++()
{
        ++num;
        return *this;
}
point operator -(point m, point n)
{
        point temp;
        temp.num = m.num + n.num;
        return temp;
}
point operator --(point &m)
{
        --m.num;
        return m;
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值