C++双目/单目运算符的重载
在C++中,我们可以为自定义数据类型重载双目/单目运算符,以便在使用该数据类型时能够像内置数据类型一样进行运算,并且更加灵活。本文将详细讲述在C++中如何重载双目/单目运算符。
一、双目运算符
- 加法运算符重载
对于自定义数据类型,我们可以为其定义加法运算符“+”,使其支持相应的加法运算。具体实现代码如下:
class Complex {
public:
Complex(double r = 0.0, double i = 0.0) : re(r), im(i) {
}
Complex operator+(const Complex& other) const {
//“+”运算符重载
return Complex(re+other.re, im+other.im);
}
private:
double re, im; //复数实部和虚部
};
int main() {
Complex a(1, 2), b(3, 4), c;
c = a + b; //调用Complex类中的“+”运算符重载
return 0;
}
- 减法运算符重载
同样地,我们也可以为自定义数据类型定义减法运算符“-”,使其支持相应的减法运算。具体实现代码如下:
class Complex {
public:
Complex(double r = 0.0, double i = 0.0) : re(r),