C用顶层函数重载操作符_C教程

C用顶层函数重载操作符_C教程

ID:41394030

大小:72.73 KB

页数:12页

时间:2019-08-24

C用顶层函数重载操作符_C教程_第1页
C用顶层函数重载操作符_C教程_第2页
C用顶层函数重载操作符_C教程_第3页
C用顶层函数重载操作符_C教程_第4页
C用顶层函数重载操作符_C教程_第5页
资源描述:

《C用顶层函数重载操作符_C教程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C++用顶层函数重载操作符一Java教程C++用顶层函数重载操作符在前面两节中,我们是将操作符重载函数声明为类的成员函数,其实除了能将操作符重载函数声明为类的成员函数之外,我们也可以将操作符重载函数声明为顶层函数。在前面将操作符重载函数声明为类成员函数时,我们不断强调二元操作符,其函数参数为一个,一元操作符重载函数不需耍函数参数。但是一旦将操作符重载函数声明为顶层函数吋,则必须至少有一个类对象参数,否则的话编译器无法区分操作符是系统内建的还是程序设计人员白己定义的,有了-•个类对象参数之后,系统

2、则会根据情况调用内建或白定的操作符。如果以顶层函数的形式重载操作符时,二元操作符重载函数必须有两个参数,一元操作符重载必须有一个参数。例1:itincludeusingnamcspaccstd;classcomplex{public:complex();complex(doublea);complex(doublea,doubleb);doublegetreal()const{returnreal;}doublegetimagOconst{returnimag;}voidse

3、treal(doublea){real二a;}voidsetimag(doubleb){imag=b;}voiddisplay()const;private:doublereal;//复数的实部doubleimag;//复数的虚部};complex::complex(){real=0.0;imag=0.0;complex::complex(doublea)real=a;imag=0.0;complex::complex(doublea,doubleb){real=a;imag=b;}〃打印复数v

4、oidcomplex::display()const{cout<

5、lex&B){complexC;C.setreal(A.getreal()-B.getreal());C.setimag(A.getimag()-B.getimag());returnC;}〃重载乘法操作符complexoperator*(constcomplex&A,constcomplex&B){complexC;C.setreal(A.getreal()*B.getreal()-A.getimagO*B.getimag());C.setimag(A.getimagO*B・getreal()

6、+A.getreal()*B.getimagO);returnC;〃重载除法操作符complexoperator/(constcomplex&A,constcomplex&B)complexC;doublesquare二A.getreal()*A.getreal()+A.getimag()*A.getimagO;C.sctrcal((A・gctrceil()*B.getreal()+A.gctimag()*B.getimag())/square);C.setimag((A.getimagO*B.

7、getreal()-A.getreal()*B.getimag())/square);returnC;}intmain(){complexcl(4.3,-5.8);complexc2(8.4,6.7);complexc3;c3=cl+c2;cout<<,zcl+c2二〃;c3.display();cout<

8、t<setimag和setreal函数。我们以加法操作符的重载为例來看普通操作符重载函数如何作为顶层函数。加法操作符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。