之前学习了基本的函数指针;函数指针有多种用途;下面看一下函数参数化;
函数参数化是指通过函数指针将函数的某些行为参数化。这样可以在调用函数时动态地指定函数的行为。
新建一个单文档工程;下述增加的函数声明加到视类cpp文件的头部,函数体加到视类cpp文件的尾部,在OnDraw()函数中调用输出;
void process_array(int *, size_t , int (*process)(int));
int increment(int );
......
void CHshcshhView::OnDraw(CDC* pDC)
{
CHshcshhDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CString str1;
int col=0;
int array[] = {100,200,300,400,500};
size_t size = sizeof(array) / sizeof(int);
process_array(array, size, increment);
for(size_t i=0; i<size; i++)
{
str1.Format("%d", array[i]);
pDC->TextOut(20+col*50, 50, str1);
col = col +