《高级语言C++程序设计(第二版)》第五章 函数,函数与运算符的重载.pdfVIP

《高级语言C++程序设计(第二版)》第五章 函数,函数与运算符的重载.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《高级语言C++程序设计(第二版)》第五章 函数,函数与运算符的重载.pdf

122 第五章 函数、函数与运算符的重载 第五章 函数,函数与运算符的重载 函数概念是C++语言中最重要的概念之一,函数设计是程序设计的主要 部分或实质部分。函数在C++程序设计中的意义体现在四个方面。 (1)从历史上说,函数的思想来源于子程序,(如BASIC 语言中的子程序), 把程序中反复出现的相同或相近的程序改写成子程序,可以大大缩短程序的长 度。函数实际上是参数化的子程序。 (2 )从结构化程序设计(SP)的观点来看,函数绝不仅仅是为了缩短程序 长度,更重要的是通过函数设计,可以把整个程序要完成的整体的复杂的计算 任务,分解为一个个较小的,相对简单的子任务。这种模块化的程序易设计, 易阅读,易调试,易维护,较少出错。 (3 )从运算的角度说,函数就是C++语言提供的由用户定义的运算。运算 符是系统提供的运算,而函数是由用户自己定义的运算。 (4 )作为面向对象程序设计(OOP )语言的C++ ,以类为核心,类由数据 和方法组成,方法就是对数据的运算和处理,亦即类的函数成员。故函数设计 同样是OOP 的重要组成部分。 在 5.1 节中我们用实例来说明前三点,而对于函数作为类的成员,将在后 面的章节中说明。 5.1三次方程求根程序的设计 按照Cardan 公式,计算三次方程x 3 +px+q=0 的一个实根的公式为: q q 2 p 3 q q 2 p 3 xr= 3 ( ) ( ) 3 ( ) ( ) (5.1) 2 2 3 2 2 3 在计算实根xr 的程序中,把计算一个浮点数的立方根的程序作为一个用户 定义的函数,而在主程序中两次调用这个函数。 在计算这个比较复杂的公式的过程中,我们采用自顶向下逐步求精的方法, 5.1 三次方程求根程序的设计 123 把一个复杂的问题分解为若干比较简单的子问题,以减少编程的难度,编写用 户定义的函数可以帮助我们达到这个目的。 为了从系数p 、q 计算实根xr ,把公式(5.1)的计算分解为下面几步: 1)令 实数xr =A+B ; 2 )令 实数A, B 分别为实数 R,S 的立方根: 3 )令 R = -q/2 + a, S = -q/2 -a ; (5.2) 4 )令 a = sqrt ((q/2) *(q/2) + (q/3) * (q/3) * (q/3)) ; (5.3) 实际的计算过程为: 用公式(5.3)计算得到a ; 用公式(5.2)计算得到 R 和S ; 求出 R 和 S 的立方根 A 和 B ; 最后得到实根xr 。 其中,计算立方根比较复杂,且须计算两次,用一个函数cuberoot (y) 的形 式表示,计算过程可以用下面的程序表示: float p, q, xr ; cout <<″Input parameters p,q: ″; cin >>p >>q; float a =sqrt ((q/2) *(q/2) + (q/3) * (q/3) * (q/3)) ; xr =cuberoot (-q / 2+a )+cuberoot (-q / 2-a ); cout<<endl<<″The real root of the equation is ″<<xr ; 在计算3 y 过程中,使用数学中常用的迭代公式: 2 y r =y , r r (5.4)

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档