结构体封装的变量无法直接用运算符,所以需要重载运算符 ,不多bb,直接看代码怎么实现
这里写的就没用const之类的了,可用可不用,用了更加严谨
代码简单易懂
#include <iostream>
#include <cstdio>
using namespace std;
typedef struct pl
{
int a,b;
int max()
{
return a>b?a:b;
}
int operator -(pl x)//结构体里面的a作差
{
return this->a - x.a;
}
} num;
int operator +( pl a, pl b)//返回4个数字的和
{
return a.a + a.b + b.a + b.b;
}
int main()
{
num x,y;
x.a=1;
x.b=5;
y.a=3;
y.b=10;
printf("%d\n",y.max());
printf("%d\n",x+y);//返回4个数字的和
printf("%d\n",x-y);//结构体里面的a作差
printf("%d\n",100+100);
return 0;
}
输出:
https://blog.youkuaiyun.com/sunny1996/article/details/51242184/
想了解更多用法可以看这里