类以外的运算符重载.pptxVIP

  • 2
  • 0
  • 约1.94千字
  • 约 11页
  • 2022-08-13 发布于云南
  • 举报
; 类以外的运算符重载 ;若有一个复杂类complex: class complex { public: double real,imag; complex(double r=0,double i=0) {real=r; imag=i;} }; ;若要把类complex的两个对象com1 和com2加在一起,下面的语句是不能实现的: main() { complex com(1.1,2.2),com2(3.3,4.4),total; total=com1+com2; //错误 //… return 0; } ; 原因是类comlpex的类型不是基本数据类型,而是用户自定义的数据类型。C++知道如何相加两个int型数据,或相加两个float型数据甚至知道如何把一个int型数据与一个float型数据相加,但是C++还无法直接将两个comlpex类对象相加。 为了表达上的方便,人们希望预定义的内部运算符(如“+”.“-”.“*”.“/”等)在特定类的对象上以新的含义进行解释,如希望能够实现total=com1+com2,这就需要用重载运算符来解决。 C++为运算符重载提供了一种方法,即在进行运行符重载时,必须写一个运算符函数,其名字为operator后随一

文档评论(0)

1亿VIP精品文档

相关文档