第四周项目四-程序分析(4)

来源:互联网 发布:好身材女明星 知乎 编辑:程序博客网 时间:2024/05/28 05:18
/* *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)”,带来的改变将是 结果没有变化。




0 0
原创粉丝点击