不使用模板重载乘法运算符

Overload multiplication operator without use of templates

所以我正在尝试将一个对象乘以这样的常数,

    Vector3d v(2,4,6);
    Vector3d v1 = v0*2;

要重载我的乘法运算符,

    class Vector3d
    {
         private:
              float x,y,z,a,b,c;
              string p;
         public:
              Vector3d(float a,float b,float c)
              {
                    x = a;
                    y = b;
                    z = c;
              }
              Vector operator*(const float& s) const
              {
                     return a * s;
                     return b * s;
                     return c * s;
              }
              void print(string s);
    };

我对应该如何完成感到困惑,因为我从未实现过运算符重载,我猜这是应该如何完成的。我也还没学模板

运算符可以重载 像下面这样的东西

class Vector3d
{
     private:
          float x,y,z;
          string p;
     public:
          Vector3d(float a,float b,float c)
          {
                x = a;
                y = b;
                z = c;
          }
          Vector3d operator *( float s ) const
          {
                 return Vector3d( x * s, y * s, z * s );
          }
          void print(string s);
};

运算符的return语句也可以写成

                 return { x * s, y * s, z * s };