筆記 C 遠征之離港篇)C 函式新特徵

2021-08-16 02:11:48 字數 1824 閱讀 2752

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.淺拷貝建...