侧边栏壁纸
博主头像
三味的小站 博主等级

世界上没有偶然,有的只是必然的结果。

  • 累计撰写 63 篇文章
  • 累计创建 14 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
C++

C++操作符重载

三味线
2018-04-18 / 0 评论 / 0 点赞 / 16 阅读 / 0 字
  1. C++中的运算符除了少数几个之外,全部可以重载,而且只能重载C++中已有的运算符。

  2. 重载之后运算符的优先级和结合性都不会改变。

  3. 运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造。一般来说,重载的功能应当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义类型。

#include <iostream>
using namespace std;
class person
{
public:
    person(int Age=0,int Height=0){age=Age;height=Height;}
    bool operator<(const person &data) const
    {
        if(age<data.age)
            return 1;
        else return 0;
    }
    bool operator==(const person &data) const
    {
        if(age==data.age)
            return 1;
        else return 0;
    }
    bool operator>(const person &data) const
    {
        if(age>data.age)
            return 1;
        else return 0;
    }
int operator*(const person &data) const;
private:
    int age;
    int height;
};
inline int person::operator*(const person &data) const
{
    return age*data.age;
}
int main()
{
    person a(12);
    person b(13);
    if(a==b) cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
    cout<<a*b<<endl;
    return 0;
}

0

评论区