函數重載(續)==》函數重載和函數指針在一起

函數重載與函數指針(這一塊很重要,後續要繼續學習)

    當使用重載函數名對函數指針賦值時

    根據重載規則挑選與函數指針參數列表一致的候選者

       嚴格匹配候選者的函數類型與函數指針的函數類型

#include <iostream>

using namespace std;

void myFunc(int a)
{
    printf("a:%d\n",a);
}

void myFunc(char *p)
{
    printf("p:%s\n",p);
}

void myFunc(int a,int b)
{
    printf("a:%d\n",a);
}

//函數指針 基礎的語法

//1 聲明一個函數類型
//void myFunc(int a,int b)
typedef void (myTypeFunc)(int a,int b);
//myTypeFunc *myfuncp = NULL;//定義一個函數指針,這個指針指向函數的入口地址

//2 聲明一個函數指針類型
typedef void (*myPTypeFunc)(int a,int b);//聲明瞭一個指針函數類型
//myPTypeFunc fp = NULL;   //通過函數指針類型 定義了一個函數指針


//3 定義一個函數指針 變量
void (myVarPFunc)(int a,int b);

int main(int argc, char *argv[])
{
    myPTypeFunc fp = NULL;
    fp = myFunc();
    fp(1,2);
    cout << "Hello World!" << endl;
    return 0;
}




注意區分 函數重載 重寫 重定義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章