21xrx.com
2024-11-22 03:26:42 Friday
登录
文章检索 我的文章 写文章
C++重载乘号
2023-07-08 13:49:51 深夜i     --     --
C++ 乘号重载 运算符重载 多态性函数

C++中的运算符重载是一项非常强大的特性。通过重载运算符,开发者可以为自己的自定义类型实现常用的运算符操作,使代码更加简洁优雅。本文将为读者介绍C++中重载乘号(*)运算符的方法。

在C++中,对于内置类型的乘法操作,可以直接使用乘号运算符。但是对于自定义类型,我们需要重载乘号运算符才能使用。下面是一段简单的示例代码:


#include<iostream>

using namespace std;

class Complex {

public:

  float real, imag;

  Complex operator *(const Complex& other) const {

    Complex result;

    result.real = this->real * other.real - this->imag * other.imag;

    result.imag = this->real * other.imag + this->imag * other.real;

    return result;

  }

};

int main() {

  Complex c1 = 1;

  Complex c2 = 3;

  Complex res = c1 * c2;

  cout << res.real << "+" << res.imag << "i" << endl;

  return 0;

}

在这个示例代码中,我们定义了一个复数类Complex,重载了乘号运算符。这段代码的功能是计算两个复数的乘积。注意到这里的运算符重载函数是一个成员函数,并且返回值类型为一个新的Complex对象。

在运算符重载函数中,我们首先定义了一个新的Complex对象result。然后我们按照复数乘法的公式计算乘积,并将结果保存到result对象中。最后返回result对象。

在主函数中,我们定义了两个Complex对象c1和c2,并将它们相乘的结果保存到res对象中。最后输出res对象的实部和虚部即可。

运行上述代码,输出结果为:``-5+10i``,符合我们的期望。

总结起来,重载乘号运算符可以帮助我们为自定义类型实现常用的乘法操作。需要注意的是,在实现运算符重载时,我们应该按照运算符的一般语义对其进行定义。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章