c++帶來了很多新特徵,本節內容主要講了三塊內容:函式引數預設值、函式過載、內聯函式。
一、函式引數預設值
1.有預設引數值的引數必須在參數列的最右端,否則會報錯
如: void fun( int i,int j=5, int k= 10 ); √
2.無實參用預設值,否則實參將覆蓋預設值
例如:
#includeusing namespace std;
int main()
void func(int i ,int j , int k)
double maxnumber(double a,double b)
執行結果:
輸入:2 5
2.63 2.64
輸出:max1=5
max2=2.64
三、內聯函式
與普通函式的區別
優點:當需要頻繁呼叫某些函式時,可以大大減少執行時間
思考:為什麼不所有的函式都使用內聯函式呢?
1.內聯編譯時建議性的,由編譯器決定。
2.建議邏輯簡單,呼叫頻繁的函式使用內聯,可以提高效率。
3.遞迴函式無法使用內聯方式。
---------------------------分割線----------------------
練習這個練習評判比較坑爹,提示不足,如果沒猜到作者意圖基本上是做不出的
題目:使用函式的過載完成返回最大值的方法。
現在有乙個陣列,定義乙個方法getmax(),利用函式的過載,分別實現:
1、隨意取出陣列中的兩個元素,傳到方法getmax()中,可以返回較大的乙個元素。
2、將整個陣列傳到方法getmax()中,可以返回陣列中最大的乙個元素。
#include using namespace std;
/** *函式功能:返回a和b的最大值
*a和b是兩個整數
*/int getmax(int a, int b)
/** * 函式功能:返回陣列中的最大值
* arr:整型陣列
* count:陣列長度
* 該函式是對上面函式的過載
*/int getmax(int *a,int b) }
return b;
}int main(void)
;
//自動呼叫int getmax(int a, int b)
cout << getmax(numarr, 3) << endl;
//自動呼叫返回陣列中最大值的函式返回陣列中的最大值
cout << getmax(numarr[0], numarr[2]) << endl;
return 0;
}
執行結果:
**********==分割線**********
最後在貼一張總結吧╰( ̄ω ̄o)
C 之離港篇學習筆記之const
const 控制變數是否可以變化 int x 3 變數 const int x 3 常量 變數名 x 變數名 x 儲存位址 x 儲存位址 x 儲存內容 3 可變 儲存內容 3 不可變 const int p null int const p null int const p null const i...
慕課學習C 筆記01 離港篇 起航篇
問 什麼是引用?答 引用就是乙個變數的別名 相對於真名 引用必須初始化,可以理解為乙個變數不能只有別名,總是乙個真名變數的別名,因此初始化就是告訴我們這個別名b的真名是a。引用用於函式引數,比指標的使用更簡潔。int a 10 int b a 引用必須初始化 問 指標型別的引用?答 型別 指標引用名...
c 遠征之封裝篇(拷貝建構函式)
拷貝建構函式 示例安排 1.定義乙個array類,資料成員為m icount,成員函式包括資料封裝 建構函式 拷貝建構函式和析構函式,通過此示例體會淺拷貝原理。2.增加資料成員m parr,並增加m parr位址檢視函式,同時改造建構函式 拷貝建構函式和析構函式,體會拷貝的原理和必要性。1.淺拷貝建...