Con trỏ hàm
C++ cho phép thao tác với các con trỏ hàm. Tiện ích tuyệt vời này cho phép
truyền một hàm như là một tham số đến một hàm khác. Để có thể khai báo một
con trỏ trỏ tới một hàm chúng ta phải khai báo nó như là khai báo mẫu của một
hàm nhưng phải bao trong một cặp ngoặc đơn
()
tên của hàm và chèn dấu sao
(
*
) đằng trước.
// pointer to functions
#include <iostream.h>
int addition (int a, int b)
{ return (a+b); }
int subtraction (int a, int b)
{ return (a-b); }
int (*minus)(int,int) = subtraction;
int operation (int x, int y, int (*functocall)(int,int))
{
int g;
g = (*functocall)(x,y);
return (g);
}
int main ()
{
int m,n;
m = operation (7, 5, &addition);
n = operation (20, m, minus);
cout <<n;
return 0;
}