文档详情

《高级语言C++程序设计(第一版)-第五章.》.pdf

发布:2016-01-07约2.47万字共23页下载文档
文本预览下载声明
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 3 3 xr= ( ) ( ) ( ) ( ) 2 2 3 2 2 3 在计算实根xr 的程序中,把计算一个浮点数的立方根的程序作为一个用户 定义的函数,而在主程序中两次调用这个函数。 5.1 三次方程求根程序的设计 123 3 在计算 y 过程中,使用迭代公式: 2 y r r n1 n 2 3 3r n 程序如下: //program5_1.cpp # include <iostream.h > # include <math.h > float cuberoot (float ); void main (void ) { float p, q, xr ; cout <<″Input parameters p,q: ″; cin >>p >>q; float a =sqrt (q /2*q /2 +p /3*p /3*p /3 ); xr =cuberoot (-q /2 +a )+cuberoot (-q /2 -a ); cout <<endl <<″The real root of the equation is ″<<xr ; } float cuberoot (float x ) { float root , croot ; const float eps =1e-6 ; croot =x ; do { root =croot ; croot =(2*root +x/ (root*root ))/
显示全部
相似文档