所以我试图将一个对象乘以这样的常量,
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);
};
我很困惑应该怎么做,因为我从未实现过运算符重载,我猜这是应该怎么做的。我还没有学过模板。
答案 0 :(得分:1)
操作员可能会超载以下
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 };