1.在类的外部定义
class CStu
{
public:
int a;
CStu()
{
a = 12;
}
};
void operator+(CStu& stu, int a) //加引用就不会调用拷贝构造函数
{
cout << stu.a + a << endl;
}
int main()
{
CStu stu1;
int a = 15;
stu1 + a; //会直接跳到运算符重载函数中,输出结果为27,函数中的参数依据运算的对象填入
system("pause");
return 0;
}
2.运算符重载添加返回值
#include"Head.h"
class CStu
{
public:
int a;
CStu()
{
a = 12;
}
};
int operator+(CStu& stu, int a)
{
return stu.a + a ;
}
int operator+(int a, CStu& stu)
{
return a + stu.a;
}
int main()
{
CStu stu1;
CStu stu2;
int a = 15;
cout<<stu2+(stu1 + a)+stu2+stu1<<endl;//输出结果63,12+(12+15)+12+12=63
system("pause");
return 0;
}