函数与运算符的重.pptxVIP

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

1第5章函数,函数与运算符的重载要点函数函数的重载运算符的重载

2函数:参数化的子程序;从SP的观点,函数:程序长度↓;整个程序?子任务;从运算的角度,函数:C++提供的用户定义的运算。运算符:系统提供的运算;作为OOP的C++,类:核心,类=数据+方法,方法/类的函数成员:对数据的运算和处理。函数在C++中的意义#2022

3方法:(1)计算浮点数的立方根的程序作为函数(2)主程序中2次调用该函数(3)计算迭代公式:rn+1=2/3*rn+y/(3rn2)例:按照Cardan公式,计算3次方程x3+px+q=0的一个实根:5.13次方程求根程序的设计

4#includeiostream.h#includemath.hfloatcuberoot(float);//原型voidmain(void){floatp,q,xr;coutInputparametersp,q:;cinpq;floata=sqrt(q/2*q/2+p/3*p/3*p/3);//xr=cuberoot(-q/2+a)+cuberoot(-q/2-a);coutendlTherealrootoftheequationisxr;}

5//计算:rn+1=2/3*rn+x/(3rn2)floatcuberoot(floatx){floatroot,croot;constfloateps=1e-6;croot=x;do{root=croot;croot=(2*root+x/(root*root))/3;}while(abs(croot-root)eps);return(croot);}

6执行结果

7[属性说明]类型函数名(参数表);5.2函数的说明与使用1.函数说明函数原型/声明--指出函数的名称,类型和参数例:intadd(inta,intb);inlinevoidswap(float,float);voidprint(char*);可省略

8[属性说明]类型函数名(参数表);属性说明可缺省除main()函数和类的构造/析构函数之外,所有函数必须指出返回类型函数的返回类型inline:内联函数P125static:静态函数P170virtual:虚函数P202friend:某类的友元函数P170标识符

9例://program7_1.cppclassstack{floatdata[maxsize];inttop;public:stack(void);//构造函数P168~stack(void);//析构函数P169……};…stack::stack(void){top=0;coutstackinitialized.endl;}

10例:classpoint{//point:平面上一点private:floatXcoord,Ycoord;public:voidSetX(floatx){Xcoord=x;};//初始化voidSetY(floaty){Ycoord=y;};//初始化floatGetX(void){returnXcoord;};floatGetY(void){returnYcoord;};};pointp1;point*p2=newpoint;

11例:main()print(void)cuberoot(floatx)add(inta,intb)[属性说明]类型函数名(参数表);参数表空/void/类型参数名,类型参数名…例:add(int,int)swap(float,float)//引用方式函数原型中的参数表可忽略参数名

12①程序中某函数的调用语句出现在该函数的定义前,必须在调用语句之前列出函数原型;函数原型的使用//program5_1.cpp#includeiostream.h#includemath.hfloatcuberoot(float);voidmain(void){}②类定义中,较大的函数成员定义移到类说明

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档