C++核心程式設計---3.函式高階【P95~P98】
C++核心程式設計---3.函式高階【P95~P98】
3. 函式高階
3.1 函式的預設引數
注意事項:
1、如果某個位置已經有了預設引數,那麼從這個位置往後,從左到右都必須有預設值
2、如果函式宣告有預設引數,函式實現就不能有預設引數,宣告和實現只能有一個有預設引數
#include<iostream>
using namespace std;
//函式預設引數,如果你給了引數,那函式就用你給的引數,如果你沒給引數,那函式就用預設引數,相當於預設值
//注意事項:1、如果某個位置已經有了預設引數,那麼從這個位置往後,從左到右都必須有預設值
//比如這個函式,一旦給了引數b預設值,那麼引數b後的引數都得設定預設值,否則報錯
int func(int a, int b = 20, int c = 30)
{
return a + b + c;
}
//2、如果函式宣告有預設引數,函式實現就不能有預設引數,宣告和實現只能有一個有預設引數
//雖然程式沒有出現紅線,但執行時會報錯
int func2(int a = 10, int b = 10);
int func2(int a = 10, int b = 10)
{
return a + b;
}
int main()
{
cout << func(10) << endl;
system("pause");
return 0;
}
3.2 函式的佔位引數
#include<iostream>
using namespace std;
void func(int a,int)
{
cout << "this is a func " << endl;
}
int main()
{
func(10,10);
system("pause");
return 0;
}
3.3 函式過載-基本語法
#include<iostream>
using namespace std;
//函式過載的滿足條件:
//1、同一個作用域下
//2、函式名稱相同
//3、函式引數型別不同,或者個數不同,或者順序不同
void func()
{
cout << "this is a func " << endl;
}
void func(int a)
{
cout << "THIS IS A FUNCTION " << endl;
}
int main()
{
func();
func(10);
system("pause");
return 0;
}
3.4 函式過載-注意事項
- 引用作為過載條件
- 函式過載碰到函式預設引數
#include<iostream>
using namespace std;
//1、引用作為函式過載條件
void func(int &a)
{
cout << "func (int &a) 呼叫" << endl;
}
void func(const int &a)
{
cout << "func(const int &a)呼叫" << endl;
}
//2、函式過載碰到預設引數
void func2(int a)
{
cout << "func2(int a )的呼叫" << endl;
}
void func2(int a,int b=10)
{
cout << "func2(int a,int b)的呼叫" << endl;
}
int main()
{
int a = 10;
func(a);
func(10);
func2(100);//當函式過載碰到預設引數,出現二義性
system("pause");
return 0;
}
相關文章
- 函數語言程式設計(2) 高階函式函數程式設計函式
- 高質量C++/C程式設計指南(第8章 C++函式的高階特性) (轉)C++C程式程式設計函式
- Python 函數語言程式設計 – 高階函式Python函數程式設計函式
- 函數語言程式設計4-高階函式函數程式設計函式
- windows核心程式設計--DLL高階Windows程式設計
- C++高階程式設計pdfC++程式設計
- 函數語言程式設計 - 玩轉高階回撥函式函數程式設計函式
- Python函數語言程式設計-高階函式、匿名函式、裝飾器、偏函式Python函數程式設計函式
- 『設計模式』高階函式實現 AOP設計模式函式
- Linux網路程式設計--高階套接字函式(轉)Linux程式設計函式
- 高質量C++/C程式設計指南(第6章 函式設計) (轉)C++C程式程式設計函式
- C++ 引用和函式的高階特性C++函式
- 設計模式基礎 之 4 高階函式設計模式函式
- scala簡明教程:偏函式、高階函式、Future非同步程式設計、隱式轉換函式非同步程式設計
- 13.程式程式設計進階:函式程式設計函式
- 高階函式函式
- 從高階函式--->高階元件函式元件
- C++核心程式設計C++程式設計
- Python 函式進階-高階函式Python函式
- 高質量C/C++程式設計指南總結(八)—— C++高階特性C++程式設計
- oracle 高階函式Oracle函式
- Javascript 高階函式JavaScript函式
- 函式高階玩法函式
- 好程式設計師大資料學習路線分享高階函式程式設計師大資料函式
- 《javascript高階程式設計》學習筆記 | 11.3.非同步函式JavaScript程式設計筆記非同步函式
- C++ 物件導向高階設計C++物件
- C++高階應用_設計模式C++設計模式
- 如何成為一個C++高階程式設計師C++程式設計師
- Kotlin 函式6 - 高階函式Kotlin函式
- 《高質量C++/C程式設計指南》第9章:類的建構函式、解構函式與賦值函式C++C程式程式設計函式賦值
- 使用高階函式實現類的擴充套件設計函式套件
- Kotlin——高階篇(二):高階函式詳解與標準的高階函式使用Kotlin函式
- 14.程式程式設計進階:函式的引數程式設計函式
- shell高階-----建立函式函式
- 高階函式的使用函式
- javaScript高階級函式JavaScript函式
- python高階函式Python函式
- Kotlin高階函式Kotlin函式