【发布时间】:2018-06-30 20:12:02
【问题描述】:
以下代码无法编译。但是,当我从朋友函数的 Point& 中删除“const”时,此代码将被编译。谁能解释一下原因?
class Point
{
public:
Point(double x, double y);
Point operator+(const double& add);
friend Point operator+(const double& add, const Point& p){return p+add;}
private:
double px, py;
};
Point::Point(double x, double y): px(x), py(y){}
Point Point::operator+(const double& add){
return(Point(px+add, py+add));
}
int main(){}
【问题讨论】:
标签: c++ operator-overloading friend const-reference