C++详解默认参数的构造函数及简单实例代码
现在给大家介绍下有默认参数的构造函数:
大家知道函数获取形参的时候是通过函数调用时在实参里获得的,因此我们必须保证实参的个数和形参的个数必须相同。而且有些情况下我们对于实参或许都是个固定的值。例如我们需要计算长方形的面积长x宽但是用户可以不输入长而且如果用户指定的情况下默认的长为3,但是如果用户指定了则使用用户指定的宽这就是用到默认参数了!
代码:
#include<iostream> usingnamespacestd; intarea(intl,intw=3);//函数声明并定义默认参数w=3; intmain(){ intc=4;//长 intk=5; intres;//结果 res=area(c); cout<<res<<endl; return0; } intarea(intl,intw){//函数定义l长w宽 intres=0; res=l*w; returnres; }
例如上面的代码,如果我们像在8行res=area(c);这里没有写成res=area(c,w);则表示不指定宽是多少,所以如果写成了后面这样则说明用户指定了这个长方形的宽为5;那么两者的结果就是不同的!
前者额结果为12
后者的记过为20
这就是默认参数的函数和没有默认参数函数的区别;
下面的习题:
设计函数,计算长方体的体积和长方形的面积
如果用户指定了三个参数则计算长方体的体积如果用户输入2个参数则计算长方形面积!
利用到含有默认参数的构造函数;
参考代码:
#include"stdafx.h" #include<iostream> #include<cmath> usingnamespacestd; intarea(intl,intw,inth=1);//函数声明并定义默认参数w=3; intmain(){ intc=4;//长 intk=5;//宽 inth=2;//高 intres;//结果 res=area(c,k); intres2=area(c,k,h); cout<<"面积为="<<res<<endl; cout<<"体积为="<<res2<<endl; return0; } intarea(intl,intw,inth){//函数定义l长w宽 intres=0; res=l*w*h; returnres; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!