欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

C++基本操作符重载

发布时间:2025/4/5 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C++基本操作符重载 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

操作符重载指的是将C++提供的操作符进行重新定义,使之满足我们所需要的一些功能。比如类的加减乘除。我们可以定义类中的某一个成员变量进行加减乘除。

在C++中可以重载的操作符有:
+  -  *  /  %  ^  &  |  ~  !  =  <  >  +=  -=  *=  /=  %=  ^=  &=  |= 
<<  >>  <<=  >>=  ==  !=  <=  >=  &&  ||  ++  --  ,  ->*  ->  ()  [] 
new  new[]  delete  delete[]

上述操作符中,[]操作符是下标操作符,()操作符是函数调用操作符。自增自减操作符的前置和后置形式都可以重载。长度运算符“sizeof”、条件运算符“:?”成员选择符“.”、对象选择符“.*”和域解析操作符“::”不能被重载

#include <iostream> using namespace std;class complex { public:complex();complex(double a);complex(double a, double b);complex operator+(const complex & A)const;complex operator-(const complex & A)const;complex operator*(const complex & A)const;complex operator/(const complex & A)const;void display()const; private:double real; //复数的实部double imag; //复数的虚部 };complex::complex() {real = 0.0;imag = 0.0; }complex::complex(double a) {real = a;imag = 0.0; }complex::complex(double a, double b) {real = a;imag = b; }//打印复数 void complex::display()const {cout<<real<<" + "<<imag<<" i "; }//重载加法操作符 complex complex::operator+(const complex & A)const {complex B;B.real = real + A.real;B.imag = imag + A.imag;return B; }//重载减法操作符 complex complex::operator-(const complex & A)const {complex B;B.real = real - A.real;B.imag = imag - A.imag;return B; }//重载乘法操作符 complex complex::operator*(const complex & A)const {complex B;B.real = real * A.real - imag * A.imag;B.imag = imag * A.real + real * A.imag;return B; }//重载除法操作符 complex complex::operator/(const complex & A)const {complex B;double square = A.real * A.real + A.imag * A.imag;B.real = (real * A.real + imag * A.imag)/square;B.imag = (imag * A.real - real * A.imag)/square;return B; }int main() {complex c1(4.3, -5.8);complex c2(8.4, 6.7);complex c3;//复数的加法c3 = c1 + c2;cout<<"c1 + c2 = ";c3.display();cout<<endl;//复数的减法c3 = c1 - c2;cout<<"c1 - c2 = ";c3.display();cout<<endl;//复数的乘法c3 = c1 * c2;cout<<"c1 * c2 = ";c3.display();cout<<endl;//复数的除法c3 = c1 / c2;cout<<"c1 / c2 = ";c3.display();cout<<endl;return 0; }

 

总结

以上是生活随笔为你收集整理的C++基本操作符重载的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。