运算符关键字c ++

Nur*_*lan 7 c++ operator-keyword

我们有以下课程.我需要解释一些代码部分.

class CPoint3D
    {
    public:
      double x, y, z;

      CPoint3D (double dX = 0.0, double dY = 0.0, double dZ = 0.0) 
              : x(dX), y(dY), z(dZ) {}
      //what means these lines of    code?
      CPoint3D operator + (const CPoint3D& point) const;
      CPoint3D operator - (const CPoint3D& point) const;
      CPoint3D operator * (double dFactor) const;
      CPoint3D operator / (double dFactor) const;
};
Run Code Online (Sandbox Code Playgroud)

我想用

CPoint3D operator + (const CPoint3D& point) const;

函数我可以轻松地添加/减去/乘/除除CPoint3D类的实例?

有人可以用例子解释一下吗?谢谢!

pax*_*blo 11

网上有数百万个这样的例子和/或文章(包括这个),所以我不会在这里重复它们.

我只想说,当你添加在一起的两个CPoint3D与对象obj1 + obj2,被调用的功能是operator+为类,有一个目标是this,另一个是point.

您的代码负责创建另一个包含这两个对象的对象,然后返回它.

减去同样的减法.乘法运算符略有不同,因为它们使用double作为另一个参数 - 可能是在为加法运算符添加/减去类的各个成员时有意义,这对乘法运算符没有用处.