C++程序设计 5-运算符重载.pptxVIP

  • 15
  • 0
  • 约4.07千字
  • 约 28页
  • 2020-03-17 发布于江苏
  • 举报
第五章 运算符重载第五章 运算符重载class complex{private: double real, imag;?public: complex(double r = 0, double i = 0) : real(r), imag(i) {}?};complex c1{1.2, 2.3}, c2{3.4, 4.5}, c3;c3 = c1 + c2;编译器对这行报出错误。主要原因是:c1~c3都是程序员自定义类的对象,编译器并不知道+运算符作用在这些类对象上有什么特定含义,也不知道该如何操作。解决问题的方法就是运算符函数重载。第五章 运算符重载在C++中,很多的运算符被当视为函数,称为运算符函数(operator function)返回值类型 operator @(参数列表);第五章 运算符重载为类重载运算符函数,有几个因素需要考量:第五章 运算符重载int a = 1, b = 2, c;c = a + b;运算时,操作数a和b都不会被改变。运算后,加法要产生一个新的值结果,而不是保存在a和b当中的任何一中。这个结果是以右值对象的形式标识的,它不能作为左值使用。可以级联。第五章 运算符重载常量参数保证操作数不会被改变思考:+可不可以重载为complex类的成员呢?如果可以,要考虑哪些问题?如何处理级联?返回值结果。它不能作为左值作为友元,可直接访问类成员这条语句被编译器解

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档