C ve C++ de işlevlere işaretçiler

Başlatan piedos, 17 Kasım 2006, 15:55:59

piedos

// pointer to functions
#include <iostream>
using namespace std;

int addition (int a, int b)
{ return (a+b); }

int subtraction (int a, int b)
{ return (a-b); }

int (*minus)(int,int) = subtraction;
//donus turu (*islev_isaretcisi)(girdi turu1, ...)

int operation (int x, int y, int (*functocall)(int,int))// girdi parametresi olarak işlev alan işlev
{
  int g;
  g = (*functocall)(x,y);//isaretci ile işlev çağrıldı
  return (g);
}

int main ()
{
  int m,n;
  m = operation (7, 5, addition);//bu fonksiyon işlemci mimarilerindeki multiplexer ve ALU çalışmasına benziyor
//girdiler aynı, işlem değişken
  n = operation (20, m, minus);
  cout <<n;
  return 0;
}
Einstein: "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."