1. 程式人生 > 其它 >C語言函式指標的MFC版本Demo

C語言函式指標的MFC版本Demo

技術標籤:VC++函式指標指標函式名

新建一個單文件工程;

在檢視類cpp檔案尾部,加入函式;程式碼如下,

int Max(int x, int y)
{
    int z;
    if (x > y)
    {
        z = x;
    }
    else
    {
        z = y;
    }
    return z;
}

在檢視類cpp檔案頭部加入宣告,int Max(int , int );

這個C語言函式加到檢視類cpp檔案,不會有問題;

然後在檢視類OnDraw函式中使用函式指標呼叫函式,輸出返回值;

void CFuncptrdemoView::OnDraw(CDC* pDC)
{
	CFuncptrdemoDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;
	int(*pmax)(int, int);  //定義一個函式指標
    int a, b, c;
    pmax = Max;  //把函式Max賦給指標變數pmax, 使pmax指向Max函式
    a=100;
	b=200;
    c = (*pmax)(a, b);  //通過函式指標呼叫Max函式
    //printf("a = %d\nb = %d\nmax = %d\n", a, b, c);
	str1.Format("a=%d, b=%d, max=%d",a,b,c);
	pDC->TextOut(50,50,str1);
}

結果如下;