C 筆記函式過載函式模板

2021-07-27 15:01:11 字數 1483 閱讀 5704

#include 

using

namespace

std;

class student

void display() //定義公用函式display

//在函式的後面加上不加;結果都是一樣的一句話的結束符號;不影響函式的執行

在c++中也允許函式的過載,即函式的一物多。

#include 

//#include

using

namespace

std;

int max(int a, int b,int c)

float max(float a, float b,float c)

long max(long a, long b,long c)

int main() //在函式的後面加上不加;結果都是一樣的一句話的結束符號;不影響函式的執行

main函式三次呼叫函式max()函式,每次實參的型別不同。系統會根據實參的型別找到與之匹配的函式,然後呼叫該函式。當然當引數的個數不同的時候定義是的函式也能夠進行過載。

c++也提供了函式模板,所謂函式模板就是建立乙個通用函式,其函式的型別和形參不進行具體的指定,使用乙個虛擬的型別來代表。這個通用的函式就是函式模板。

#include 

//#include

using

namespace

std;

//通用函式定義

template

t max1(t a,t b,t c)

int main() //在函式的後面加上不加;結果都是一樣的一句話的結束符號;不影響函式的執行

變數的引用,在c++中使用符號&在變數之前代表對變數的引用,只要變數一被引用那麼變數和被引用變數就代表同乙個變數。

#include 

using

namespace

std;

int main()

在進行變數的引用之後,改變變數b的值變數a的值也會發生改變,即變數a和b代表同乙個變數。

並且對變數宣告乙個引用,並不另開闢記憶體單元,b和a都代表同乙個變數單元。在宣告乙個引用的時候,必須對其進行初始化,即宣告代表哪乙個變數。

引用和被引用的變數具有相同的位址

#include 

using

namespace

std;

int main()

/home/andrew/文件/clion/untitled2/cmake-build-debug/untitled299

0x7ffdfcae9474

0x7ffdfcae9474

hello, world!

process finished with exit code 0

C 函式過載和函式模板

過載 不同的東西在不同場合有不同的含義,一物多用 例如 和 可以是移位運算子,在c 也是輸入輸出運算子 cout 和cin 函式過載 同名函式實現不同功能。函式過載實現方式 引數型別和引數個數至少乙個不同即可。優點 函式過載將相同或類似功能的函式用乙個函式名,但仍然要定義每個函式,於是函式模板派上用...

C 函式模板的過載

當需要對不同的型別使用同一種演算法 同乙個函式體 時,為了避免定義多個功能重複的函式,可以使用模板。然而,並非所有的型別都使用同一種演算法,有些特定的型別需要單獨處理,為了滿足這種需求,c 允許對函式模板進行過載,程式設計師可以像過載常規函式那樣過載模板定義。在 c 函式模板 一節中我們定義了 sw...

函式過載與函式模板

函式過載與函式模板 在我們要實現類似的函式功能時,但他們的資料型別或者個數不一樣,這時就需要用到函式過載 求3個數中最大的數 分別考慮整數 雙精度數 長整數的情況 include using namespace std int main int max int a,int b,int c 定義求3個...