C++关键字operator是干嘛的?怎么用?

用operator关键字去专门重载运算符的。
两种用法:
1.类内重载运算符:(类内成员函数)
2.类外重载运算符:(全局函数)

//类内重载:将判断相等运算符重载为专门判断对象的年龄与参数p的值是否相等
 bool operator==(const person& p)//必须以"operator 操作符"作为函数名 operator代表运算符重载操作;
 //只有一个参数,是因为对象的this指针可以指向对象的年龄,而调用函数时已经知道了是哪个对象调用的函数,所以运算符左边的值已经定了,只需要再传一个参数。
    {
        if (this->age == p.age)
        {
            return true;
        }
        return false;
    }
   //调用部分
   person p1(10);
   person p2(10);
   if (p1 == p2)


//类外重载
// 左操作数的类型必须被显式指定
//运算符重载普遍是针对类的,所以参数也多为类对象的引用
bool operator==(person const& p1 ,person const& p2)
{
    if (p1.age == p2.age)
    {
        return true;
    }
    else
    {
        return false;
   }
   }
   //调用部分
    person p1;
    person p2;
    p1.age = 18;
    p2.age = 18;
 
    if (p1 == p2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张学灿@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值