C 29 類中的函式過載

2021-10-02 12:55:29 字數 984 閱讀 2236

類中的成員函式可以進行過載

問題:全域性函式,普通成員函式以及靜態成員函式直接是否可以構成過載?

class test

test(int i)

test(const test& obj)

static void func()

void func(int i)

int geti()

};void func()

void func(int i)

int main()

結果:

void func()

void func(int i), i = 1

test::test()

test::test(int i)

test(const test& obj)

void func()

void test::func()

void func(int i), i = 2

void test::func(int i), i = 2

void test::func()

比如下面示例,在c++中就可以擴充套件 strcpy 這個功能,使其容易理解

#include #include char* strcpy(char* buf, const char* str, unsigned int n)

int main()

;

//strcpy(buf, s);

strcpy(buf, s, sizeof(buf)-1);

printf("%s\n", buf);

return 0;

}

過載能夠擴充套件系統中已經存在的函式功能

問題:

過載是否也能夠擴充套件其它更多的功能?

比如擴充套件 操作符 過載?

29 類中的過載函式

函式過載的本質為相互對立的不同函式。c 中通過函式名和函式引數確定函式呼叫,無法直接通過函式名得到過載函式的入口位址,函式過載必然發生在同乙個作用域中。類中的成員函式可以進行過載 建構函式的過載,普通函式的過載,靜態成員的過載。靜態成員函式和普通成員函式能夠成過載,類的成員函式能夠成過載。inclu...

29 類中的函式過載

1 函式過載的本質為相互獨立的不同函式 2 c 中通過函式名和函式引數確定函式呼叫,函式名和引數列表組成唯一的標識 3 無法直接通過函式名得到 過載函式的入口位址 過載函式的入口位址不同 4 函式過載必然發生在同乙個作用域 乙個類內部 程式設計實驗 類成員函式指標 include using nam...

C 類中的函式過載

1,本課程最初階段就學習了函式過載,但是那時研究目標僅限於全域性函式,到目前 為止我們學習了三種函式 1,全域性函式 2,普通成員函式 3,靜態成員函式 這三種不同型別的函式之間是否可以構成過載,這是本文討論的主要內容 2,函式過載回顧 1,函式過載的本質為相互獨立的不同函式 2,c 中通過函式名和...