C++详解默认参数的构造函数及简单实例代码
现在给大家介绍下 有默认参数的构造函数:
大家知道函数获取形参的时候是通过函数调用时在实参里获得的,因此我们必须保证 实参的个数 和 形参的个数必须相同。而且有些情况下我们对于实参或许都是个固定的值。例如 我们需要计算长方形的面积 长x宽 但是用户可以不输入长 而且如果用户指定的情况下默认的长为 3,但是如果用户指定了则使用用户指定的宽 这就是用到默认参数了!
代码:
#include <iostream> using namespace std; int area(int l,int w=3);// 函数声明 并定义默认参数w=3; int main(){ int c=4; //长 int k=5; int res; //结果 res = area(c); cout<<res<<endl; return 0; } int area(int l,int w){//函数定义 l长 w宽 int res=0; res = l*w; return res; }
例如上面的代码,如果我们像在8行 res=area(c); 这里没有写成 res=area(c,w);则表示 不指定宽是多少,所以如果写成了 后面这样则说明用户指定了这个长方形的宽 为5;那么两者的结果就是不同的!
前者额结果为 12
后者的记过为 20
这就是默认参数的函数 和 没有默认参数函数的区别;
下面的习题:
设计函数,计算长方体的体积 和 长方形的面积
如果用户指定了三个参数则计算长方体的 体积 如果用户输入2个参数则计算长方形面积!
利用到含有默认参数的构造函数;
参考代码:
#include "stdafx.h" #include <iostream> #include <cmath> using namespace std; int area(int l,int w,int h=1);// 函数声明 并定义默认参数w=3; int main(){ int c=4; //长 int k=5;//宽 int h=2;//高 int res; //结果 res = area(c,k); int res2=area(c,k,h); cout<<"面积为 ="<<res<<endl; cout<<"体积为 ="<<res2<<endl; return 0; } int area(int l,int w,int h){//函数定义 l长 w宽 int res=0; res = l*w*h; return res; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
栏 目:C语言
本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/1763.html
您可能感兴趣的文章
- 04-02c语言没有round函数 round c语言
- 01-10求子数组最大和的解决方法详解
- 01-10深入二叉树两个结点的最低共同父结点的详解
- 01-10数据结构课程设计- 解析最少换车次数的问题详解
- 01-10数据结构课程设计-用栈实现表达式求值的方法详解
- 01-10HDOJ 1443 约瑟夫环的最新应用分析详解
- 01-10深入理解C++中常见的关键字含义
- 01-10使用C++实现全排列算法的方法详解
- 01-10如何查看进程实际的内存占用情况详解
- 01-10深入Main函数中的参数argc,argv的使用详解
阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法实例总结
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 04-02jquery与jsp,用jquery
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11ajax实现页面的局部加载