c plus plus 如何重载 *
时间: 2023-12-24 13:02:25 浏览: 122
element-plus-2.3.11.zip
在 C++ 中,可以通过重载运算符来实现对 * 运算符的重载。下面是一个示例:
```cpp
#include <iostream>
class MyVector {
private:
double x, y, z;
public:
MyVector(double x, double y, double z) : x(x), y(y), z(z) {}
// 重载 * 运算符,实现向量的数量乘法
MyVector operator*(double scalar) const {
return MyVector(x * scalar, y * scalar, z * scalar);
}
// 输出向量的值
void print() const {
std::cout << "(" << x << ", " << y << ", " << z << ")" << std::endl;
}
};
int main() {
MyVector v1(1.0, 2.0, 3.0);
MyVector v2 = v1 * 2.0;
std::cout << "v1: ";
v1.print();
std::cout << "v2: ";
v2.print();
return 0;
}
```
在上面的示例中,我们定义了一个名为 MyVector 的类,它表示三维向量。我们通过重载 * 运算符来实现向量和标量的数量乘法,这里的标量是指一个实数。重载函数返回一个新的 MyVector 对象,它的值是原始向量的每个分量都乘以标量。
在 main 函数中,我们创建了一个名为 v1 的向量,并将它乘以 2.0,得到了一个名为 v2 的新向量。最后,我们分别打印出 v1 和 v2 的值,以验证我们的重载运算符是否正确工作。
阅读全文