第四周项目四-程序分析(4)
2016-03-23 21:51
274 查看
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年3月23日 *版 本 号:v1.0 */ #include <iostream> using namespace std; const double pi=3.1415926; float area(float r=6.5);//指定r的默认值为6.5 float volume(float h,float r=6.5); //指定r的默认值为6.5 int main( ) { cout<<area()<<endl; //相当于area(6.5); cout<<area(7.5)<<endl; //形参得到的值为7.5,而不是6.5 cout<<volume(45.6)<<endl; //相当于volume(45.6,6.5) cout<<volume(34.2,10.4)<<endl; //h的值为34.2,r的值为10.4 return 0; } float area(float r) { return pi*r*r; } float volume(float h,float r) { return pi*r*r*h; }
运行结果:012345
程序分析:
① 去掉第4行的“=6.5”试试,出错的原因是 第八行调用area函数时没有传参,也没有设置默认值,故出错。
② 将第14行改为“float area(float r=6.5)”,出错的原因是 声明和定义不能都定义默认参数,会产生冲突,默认参数一般是在声明时定义的。
③ 将第5行“float h,float r=6.5”改为“float h=1,float r”,出错的原因是 默认参数的声明必须放在形参列表的最右端,否则出错。
④ 将第5行改为“float volume(float h=0,float r=6.5)”,带来的改变将是 结果没有变化。
相关文章推荐
- javaWeb:http响应状态码大全
- 2.20 程序理解和时间分析
- LA 3695(p52)----Distant Galaxy
- iOSDay14之OC NSNumber + NSValue
- 今天晚上下了两个订单1:西服套装 2:棕色皮鞋
- shell入门
- iOS 代理与通知,kvc和kvo的区别
- LEETCODE 203
- bzoj3638&&【GDOI2016模拟3.20】diyiti
- 【AngularJS】——核心特性之路由
- ORA-00918 未明确定义列,with t as 后面只能跟select
- PHP Include 文件
- 安装谷歌浏览器出现错误代码 0x80004002 解决方法
- CF_3A_ShortestPathOfTheKing
- dreamvc框架(一)ioc容器的集成
- 我的java学习之事件监听篇01
- 第三次作业3
- Django: 之用户注册、缓存和静态网页
- Impala 2、Impala Shell 和 Impala SQL
- Wordcount