???????????????????????????
????????????????????????????????“???????”????“????????”??
????1.????????????????????:
????class ????
????{
????friend ???????? operator ??????(?βα?);
????};
????//??????????
???????????? operator??????(??????)
????{
????//??????
????}
????2.?????????????????????????
????class ????
????{
????public:
???????????? operator ??????(?βα?)??
????};
????//????????
???????????? ????::operator ??????(?βα?)
????{
????//??????
????}
?????????????????????????????????????????????????????????дpoint???”+“??”-“??????????????£?
#include <iostream>
using std::endl;
using std::cout;
class point
{
double x;
double y;
public:
double get_x()
{
return x;
}
double get_y()
{
return y;
}
point(double X = 0.0 ?? double Y = 0.0):x(X)??y(Y){};
friend point operator -(point p1??point p2);
point operator +(point p);
};
//?????????“-”
point operator -(point p1??point p2)
{
double x = p1.get_x() - p2.get_x();
double y = p1.get_y() - p2.get_y();
point p3(x??y);
return p3;
}
//?????????“+”
point point::operator +(point p)
{
double x = this->x + p.x;
double y = this->y + p.y;
point tmp_p(x??y);
return tmp_p;
}
int main()
{
point p1(1.2??3.2);
point p2(1.1??3.1);
point p3 = p1+p2;
point p4 = operator-(p1??p2);
cout<<p3.get_x()<<" "<<p3.get_y()<<endl;
cout<<p4.get_x()<<" "<<p4.get_y()<<endl;
return 0;
}
???????????????????У????????????????????????”-“??????????????????????????????????????????????????????????????????д???this??????????????????????????????????????????????????????????????????磺???????????????????????”-“?????????????????????????????????????????????????????????????磺[] ????????->?? =??????????????????????????????
?????????????????У?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????縳??????=????????????????????????????????????????????????????????
?????????????????????
???????????????????????????????????????????????????????Щ?????
????1.C++?????????е?C++???????????????????????????????μ????????
????2.C++?о?????????????????????????????????.?????????????::???????????sizeof?????????????:??
????3.????????????????????????????(??????)????????磺"+"??????????????????????????????????????????
????4.????????????????е??????????е??????
????6.?????????????????C++??????????????????????????????????????????????????????????????????
????????????????????????
??????????????????????????????????????????????????????????????д???add()??????????operator +()?????????о?C++????????????????????????????????????????????????????磺c = a + b ?? c = add??a??b?????????????????????????????????????????????????????????????????????????????int??double??Щ?????????????????????????????????????е???????????????????????[]??<<??^??|?????????????????????????????????????????????????Ч???????????????????????????????
?????????C++?е?++?????????????????????????????????????????????????????