运算符重载是什么???
运算符重载是 C++ 中一种特殊的函数重载机制,它允许我们对已有的运算符赋予新的含义以适应不同数据类型的操作。通过运算符重载,我们可以使用自定义的类或结构体类型进行运算,从而提高代码的可读性和整洁性。运算符重载的实质是编写一个或多个特殊的成员函数或友元函数,这些函数负责处理特定运算符的操作。
举个例子:
#include <iostream>
using namespace std;
struct node
{
int a;
int b;
string s;
node(){};
node(int aa,int bb,string ss)
{
a=aa;
b=bb;
s=ss;
}
/* 运算符重载 */
bool operator <(const node x) const
{
return a+b < x.a+x.b;
}
};
int main()
{
cout<<(node(20,23,"RainCQwQ")<node(20,24,"__Polaris__"))<<endl;
cout<<(node(20,2000,"Zhai0915")<node(19,2001,"miaoyu2022"));
return 0;
}
# output
1
0
在这个例子中,我们看到,先定义了一个结构体 \(node\),然后将 \(node\) 的小于定义为结构体中 \(node1.a + node1.b < node2.a + node2.b\)。