21xrx.com
2024-11-05 16:32:13 Tuesday
登录
文章检索 我的文章 写文章
C++运算符重载示例代码
2023-07-05 03:59:19 深夜i     --     --
C++ 运算符重载 示例代码

C++是一种高级编程语言,它提供了许多方便的工具和技巧来帮助程序员更加容易地编写高质量的代码。其中的运算符重载在实际编程中也是一项非常方便的技术,可以大大简化代码的编写和调用。

下面是一个简单的示例代码,用于说明C++的运算符重载技术。在这个示例中,我们定义了一个名为Complex的类,这个类用于表示复数的实部和虚部。为了让我们的类能够支持运算符重载,我们需要对一些关键的运算符进行特殊定义,以便在运行时对其进行重载。

在这个实例中,我们定义了一个名为“+”的运算符重载函数,用于计算两个复数的和。我们还定义了一个名为“<<”的运算符重载函数,用于将一个复数的实部和虚部输出到控制台。这些定义都可以通过使用类的成员函数定义和友元函数定义实现。


#include<iostream>

using namespace std;

class Complex{

   private:

     double real;

     double imag;

   public:

     Complex()

       real=0.0;

       imag=0.0;

    

     Complex(double r,double i)

       real=r;

       imag=i;

    

     friend Complex operator +(Complex a,Complex b){

       return Complex(a.real+b.real,a.imag+b.imag);

     }

     friend ostream & operator <<(ostream & out,Complex &a){

       out<<a.real<<"+i"<<a.imag<<endl;

       return out;

     }

};

int main(){

   Complex a(2.0,3.0);

   Complex b(4.0,5.0);

   Complex c;

   c=a+b;

   cout<<a;

   cout<<b;

   cout<<c;

   return 0;

}

在上述代码中,我们首先定义了一个Complex类,并在类中声明了实部和虚部的成员变量。接下来,我们定义了一个默认构造函数和一个带有输入参数的构造函数,用于创建Complex对象。

在类中,我们使用friend关键字定义了两个运算符重载函数,分别是“+”和“<<”。在这两个函数中,我们使用了过载运算符,将运算符嵌入到了函数名中,用于表示函数的用途。在“+”函数中,我们通过计算实部和虚部的和,返回了两个Complex对象的和,实现了复数加法。在“<<”函数中,我们使用了流对象“out”来输出实部和虚部。

最后,在主函数中,我们创建了两个Complex对象,并将它们加在一起,保存在第三个对象中。然后,我们通过对每个Complex对象进行输出来展示运算符重载运算符和输出运算符的使用。

综上所述,C++的运算符重载技术在实际编程中非常方便和实用。同时,我们也可以根据需要扩展此示例代码中的功能,来支持更多的运算符和实际应用场景。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复