重载乘法运算符
时间: 2023-06-30 13:14:56 浏览: 57
重载乘法运算符需要在类中定义一个成员函数,函数的名称为 `operator*`。函数参数可以是一个类对象或者是其他适当的类型。下面是一个简单的例子:
```c++
#include <iostream>
using namespace std;
class MyNumber {
public:
MyNumber(int num) : m_num(num) {}
int getValue() const {
return m_num;
}
MyNumber operator*(const MyNumber& other) const {
return MyNumber(m_num * other.m_num);
}
private:
int m_num;
};
int main() {
MyNumber a(2);
MyNumber b(3);
MyNumber c = a * b;
cout << c.getValue() << endl;
return 0;
}
```
在这个例子中,我们定义了一个类 `MyNumber`,它有一个私有成员变量 `m_num` 和一个公有函数 `getValue`。我们重载了乘法运算符 `operator*`,它返回一个新的 `MyNumber` 对象,这个对象的值是两个 `MyNumber` 对象的值相乘。在主函数中,我们创建了两个 `MyNumber` 对象 `a` 和 `b`,然后用它们的乘积来初始化另一个 `MyNumber` 对象 `c`,并输出了 `c` 的值。