// 定義
int max(int x, int y) { int z = x>y?x:y; return z; }
// 聲明/原型(通常置於文件頂部或頭文件)
int max(int, int); // 或 int max(int x, int y);
聲明使編譯器能檢查調用合法性;定義在調用前可省略聲明。
return expr; 帶回值,類型按函數聲明轉換voidprintStar(); 不用返回值c = 2 * max(a,b); 參與運算max(a, max(b,c)); 嵌套調用inlineinlinetemplateT max(T a, T b, T c) { if (b > a) a = b; if (c > a) a = c; return a; }
float area(float r = 6.5); // 聲明處給默認值 area(); // 等價 area(6.5) area(7.5); // 使用 7.5
f() 調用 f()f1()→f2()→f1()if 控制)n! = n*(n-1)!、年齡問題 age(n)=age(n-1)+2方程 f(x)=x³-5x²+16x-80=0,函數分工:
f(x) 計算函數值,xpoint(x1,x2) 求弦與 x 軸交點,root(x1,x2) 迭代求根。
展示了函數分解、聲明、遞歸調用的完整流程。
掌握函數定義、重載、模板、默認參數、遞歸、內聯等機制,是編寫模塊化、可復用、高性能 C++ 代碼的基石。