众所周知,结构体是不能直接进行运算的!
重载运算符
结构体重载运算符,用于对结构体进行<=,>=…等运算操作。
书写格式:
struct node{
定义结构体内数据类型
bool operator 运算符 (结构体类型)
{
return 什么时候运算符对这个结构体成立
}
}数组[长度]
范例:
struct node{
int h,a,c;
bool operator<(node x)
{
return a < x.a;
}
}arr[N];
cmp函数(用于排序)
不会运算符就直接写函数,又快又好
书写格式:
int cmp(const 结构体类型,取地址符,自定义结构体名…*2)
{
return 什么时候运算对这两个结构体成立
}
范例:
struct BOOK
{
string num;
string name;
double price;
};
int cmp(const struct BOOK &a,const struct BOOK &b)
{
return a.price>b.price;