溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++詳解默認(rèn)參數(shù)的構(gòu)造函數(shù)及簡(jiǎn)單實(shí)例代碼

發(fā)布時(shí)間:2020-09-07 03:30:14 來(lái)源:腳本之家 閱讀:127 作者:lqh 欄目:編程語(yǔ)言

現(xiàn)在給大家介紹下 有默認(rèn)參數(shù)的構(gòu)造函數(shù):

   大家知道函數(shù)獲取形參的時(shí)候是通過(guò)函數(shù)調(diào)用時(shí)在實(shí)參里獲得的,因此我們必須保證 實(shí)參的個(gè)數(shù) 和 形參的個(gè)數(shù)必須相同。而且有些情況下我們對(duì)于實(shí)參或許都是個(gè)固定的值。例如 我們需要計(jì)算長(zhǎng)方形的面積 長(zhǎng)x寬 但是用戶可以不輸入長(zhǎng) 而且如果用戶指定的情況下默認(rèn)的長(zhǎng)為 3,但是如果用戶指定了則使用用戶指定的寬 這就是用到默認(rèn)參數(shù)了!

代碼:

#include <iostream>
using namespace std;
int area(int l,int w=3);// 函數(shù)聲明 并定義默認(rèn)參數(shù)w=3;

int main(){
  int c=4; //長(zhǎng)
  int k=5;
  int res; //結(jié)果
  res = area(c);
  cout<<res<<endl;
  return 0;
}
int area(int l,int w){//函數(shù)定義 l長(zhǎng) w寬
  int res=0;
  res = l*w;
  return res;
}

例如上面的代碼,如果我們像在8行 res=area(c); 這里沒(méi)有寫成 res=area(c,w);則表示 不指定寬是多少,所以如果寫成了 后面這樣則說(shuō)明用戶指定了這個(gè)長(zhǎng)方形的寬 為5;那么兩者的結(jié)果就是不同的!

前者額結(jié)果為 12
后者的記過(guò)為 20

這就是默認(rèn)參數(shù)的函數(shù) 和 沒(méi)有默認(rèn)參數(shù)函數(shù)的區(qū)別;

下面的習(xí)題:

設(shè)計(jì)函數(shù),計(jì)算長(zhǎng)方體的體積 和 長(zhǎng)方形的面積

如果用戶指定了三個(gè)參數(shù)則計(jì)算長(zhǎng)方體的 體積 如果用戶輸入2個(gè)參數(shù)則計(jì)算長(zhǎng)方形面積!

利用到含有默認(rèn)參數(shù)的構(gòu)造函數(shù);

參考代碼:

#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
int area(int l,int w,int h=1);// 函數(shù)聲明 并定義默認(rèn)參數(shù)w=3;

int main(){
  int c=4; //長(zhǎng)
  int k=5;//寬
  int h=2;//高 
  int res; //結(jié)果
  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){//函數(shù)定義 l長(zhǎng) w寬
  int res=0;
  res = l*w*h;
  return res;
}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI