現在給大家介紹下 有默認參數的構造函數:
大家知道函數獲取形參的時候是通過函數調用時在實參里獲得的,因此我們必須保證 實參的個數 和 形參的個數必須相同。而且有些情況下我們對于實參或許都是個固定的值。例如 我們需要計算長方形的面積 長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;}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答