实验九 函数重载和变量作用域.docVIP

  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文档。上传文档
查看更多
实验九 函数重载和变量作用域

实验九 函数的重载和变量的作用域? 一、实验目的 1、 了解内联函数、重载函数、带默认参数函数的定义及使用方法。 2、 掌握作用域的概念、变量的存储类型及它们之间的差别。 3、 掌握程序的多文件组织。 ? 二、实验内容 1、 重载函数允许不同的函数使用相同的名字,这使得完成类似的任务时可以使用相同的函数名。 范例:编写几个计算面积的函数,分别计算圆、矩形、梯形和三角形的面积, 计算边长为1的正方形及其内切圆、内接等腰三角形和等腰梯形面积。 函数原型如下: double area(double radius=0); //圆面积,参数为半径,默认参数为0,表示点面积 double area(double a, double b); // 计算矩形面积,参数为长和宽 double area(double a, double b, double h); //计算梯形面积,参数为两底和高 double area(double a, double b, double c, int); //计算三角形面积,参数为三边长,int 型参数起标示作用,以区别于梯形,不参加计算。 #includeiostream #includecmath using namespace std; const double PI=3.14159; double area(double radius=0); double area(double a,double b); double area(double a,double b,double h); double area(double a,double b,double c,int); int main(){ coutArea of point isarea()\t; coutArea of square isarea(1,1)\n; coutArea of circle isarea(0.5)\n; coutArea of trapezium isarea(1,0.5,1)\n; coutArea of triangle isarea(1,sqrt(1+0.5*0.5),sqrt(1+0.5)); return 0; } double area(double radius){ return PI*radius*radius; } double area(double a,double b){ return a*b; } double area(double a,double b,double h){ return (0.5*(a+b)*h); } double area(double a,double b,double c,int){ double s=0.5*(a+b+c); return sqrt(s*(s-a)*(s-b)*(s-c)); } (1) 编译运行程序,并记录运行结果,注意函数调用时,实参与形参之间的关系(包括类型、个数)。 (2) 若将计算矩形面积的函数原型改为 double area(double a=0, double b=0);重新编译运行情况会怎样?为什么? 答:结果不变 (3) 若将计算三角形面积的函数原型改为 double area(double a, double b,double c);程序还能正确运行吗?为什么? 答:不能。因为前面已经有了这样的函数体了 (4) 若将计算三角形面积的函数原型改为 double area(double a, double b,double c=0,int); 程序还能正确运行吗?为什么? 答:不能正确运行。 2、 编程:将上题以多文件方式组织,在area.h 中声明各个area( )函数原型,在area.cpp中定义函数,然后在Exp9_2.cpp中包含area.h,并定义main( )函数并执行。 【注意:】VC++6.0中以c开头的头文件,如 不在标准名字空间中,所以area.cpp中不可以加 using namespace std; 程序源代码为: #includeiostream.h #includearea.h #includecmath int main(){ coutArea of point isarea()\t; coutArea of square isarea(1,1)\n; coutArea of circle isarea(0.5)\n; coutArea of trapezium isarea(1,0.5,1)\n; coutArea of triangle isarea(1,sqrt(1+0.5*0.5),sqrt(1+0.5)); return 0; } 3

文档评论(0)

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

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

1亿VIP精品文档

相关文档