本次記錄函式提高,還請各位大佬批評指正!
在c++中,函式的形參列表中的形參是可以有預設值的。
語法:返回值型別 函式名 (引數 = 預設值)
注意事項:
1、如果某個位置有預設引數,那麼從這個位置之後,從左往右都必須有預設值。
2、如果函式的宣告有預設引數,那麼函式的實現就不能有預設引數。宣告和實現只能有乙個有預設引數。
#include
#include
#include
using
namespace std;
//函式的預設引數
intfunc1
(int a,
int b=20,
int c=30)
//如果某個位置有預設引數,那麼從這個位置之後,從左往右都必須有預設值
//int func2(int a, int b = 20, int c) //錯誤,b往後都得有預設值
////如果函式的宣告有預設引數,那麼函式的實現就不能有預設引數
//宣告和實現只能有乙個有預設引數
intfunc3
(int a,
int b)
;//函式的宣告
intfunc3
(int a =10,
int b =10)
//兩個都有預設引數會出現錯誤,重定義預設引數
intmain()
c++中函式的形參列表裡可以有佔位引數,用來做佔位,呼叫函式時必須填補該位置。
語法:返回值型別 函式名(只填資料型別)
現階段函式的佔位引數意義不大,但是後面會用到該技術。
#include
#include
#include
using
namespace std;
//函式佔位引數
void
func1
(int a,
int)
//佔位引數可以有預設引數
void
func2
(int a,
int=10)
intmain()
作用:函式名可以相同,提高復用性。
函式過載滿足條件:
1、同乙個作用域下;
2、函式名稱相同;
3、函式引數型別不同,或者個數不同,或者順序不同。
注意:函式的返回值不可以作為函式過載的條件
#include
#include
#include
using
namespace std;
//函式過載
void
func()
void
func
(int a)
void
func
(double a)
void
func
(int a,
double b)
void
func
(double a,
int b)
//函式的返回值(int/void)不可以作為過載條件
//int func(double a, int b) //錯誤
//int
main()
1、引用作為過載條件
2、函式過載碰到函式預設引數
#include
#include
#include
using
namespace std;
//函式過載注意事項
//引用作為過載條件
void
func
(int
&a)// int &a = 10; 不合法
void
func
(const
int& a)
// const int &a = 10; 合法
//函式過載碰到函式預設引數
void
func2
(int a,
int b=10)
void
func2
(int a)
intmain()
C 自學筆記
本次記錄結構體,還請各位大佬批評指正!結構體屬於使用者自定義的資料型別,允許使用者儲存不同的資料型別 整型 浮點型 字元型 布林型 即不同資料型別的集合所組成的乙個型別。建立學生資料型別,然後通過學生資料型別建立具體的學生。通過結構體建立變數的方式有三種 1 struct 結構體名 變數名 2 st...
C 自學筆記
本次記錄程式的記憶體分割槽模型,還請各位大佬批評指正!c 程式在執行時,將記憶體大方向劃分為4個區域 1 區 存放函式體的二進位制 有作業系統進行管理 寫的所有 放在該區域 2 全域性區 存放全域性變數和靜態變數以及常量 3 棧區 由編譯器自動分配釋放,存放函式的引數值,區域性變數 4 堆區 由程式...
C 自學筆記
筆記整理自 菜鳥c 教程 物件導向,區分大小寫 寫法 include 或include stdio.h iostream.h iostream的區別 static 區域性變數,檔案內全域性變數 extern 所有檔案可見變數 thread local 執行緒內變數 值 i j,實參i,形參j,i賦值...