您好,登錄后才能下訂單哦!
現在給大家介紹下 有默認參數的構造函數:
大家知道函數獲取形參的時候是通過函數調用時在實參里獲得的,因此我們必須保證 實參的個數 和 形參的個數必須相同。而且有些情況下我們對于實參或許都是個固定的值。例如 我們需要計算長方形的面積 長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; }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。