调用一般二元运算符:
vec2d a{1,2},b{3,6};
double z{1,3};
vec2d c=a+b;//a.operator+(b);函数原型:vec2d vec2d::operator+(vec2d);
vec2d d=a+z;//a.operator(z);函数原型:vec2d vec2d::operator+(double);
vec2d e=z+b;//z.operator+(b);//error vec2d double::operator+(vec2d);
//double类型是内嵌类型,无法重载运算符
函数原型:
struct vec2d
{
vec2d operator+(vec2d);
vec2d operator+(double);
friend vec2d operator+(double,vec2d);//友元函数
}
vec2d operator+(double,vec2d)
{
//
}