作业帮 > 综合 > 作业

C++运算符重载什么意思啊、、看不懂.麻烦说通俗点,3Q!

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 06:56:08
C++运算符重载什么意思啊、、看不懂.麻烦说通俗点,3Q!
如题.最好用例子说明.
C++运算符重载什么意思啊、、看不懂.麻烦说通俗点,3Q!
在程序中我们常常要使用一些判断条件,如a>b,a==b,a<b.
如果a和b是我们定义的某个类的对象,假设这个类为MyClass.
这时候,如果在MyClass中没有对>、<、和==这些运算符进行重载(其实就是在MyClass进行定义),那是没法直接用a>b,a==b,a<b的.
因为像<、>、==这些运算符在C++中已有定义,作为C++的标准的一部分,所以我们要重新定义他们的用法时,就要用重载,就是要使用operator关键字.
例如有这么个类
class MyClass
{
    int n;
    string name;
    
    bool operator ==(MyClass a,MyClass b)
    {
        return a.n==b.n && a.name==b.name;
    }
}
有了上面对==的重载,下面的代码才能编译通过.
MyClass a ,b
if(a==b)
{
    /*-----*/
}