Függvénymutatók - studopediya

Ahhoz, hogy megértsük, hogyan az index működik a funkció, meg kell szem előtt tartani a következő. Mivel a funkciók a forráskód összeállítása által rögzített szabályokat a C ++ nyelven átalakul egy objektumot, és állítsa be a belépési pontot, amely elérhető a függvényhívás.







A mutató egy függvényt a programban a következőképpen definiálható:

Függvény_típus (* imya_ pointer) (lista);

float (* pFUN) (int, int);

float * pFUN (int, int);,

a fordító elfogadja azt a függvény prototípus nevű pFUN két egész típusú érték, visszatérési értékek float típusú * mutatót. Más szóval, ez nem egy függvény pointer.

Mi határozza meg a szokásos módon történik az első félévben, a speciális funkciója két egész paramétert, amely visszaadja a valós értéket. Például, mivel az ilyen funkció lehet egy függvény, amely visszaadja az átlagos értéke a két egész szám:

float Aver (int x, int y)

Ezután fenti pFUN mutató egy olyan funkció lehet meghatározni a következő hozzárendelés:

float Res; Res = (* pFUN) (5, 2);

float * pFUN (int, int) = Aver;

Mint egy konkrét gyakorlati használatát mutató arra a funkcióra, tekintsük a következő példát.







1. példa (+) létrehozása funkció, Simpson képlet értékét számítja ki, a határozott integrál egy tetszőleges függvény egy változó. A működés ellenőrzése kiszámításához két integrál:

Integrál függvény kiszámítására határozott integrál egy tetszőleges függvény Simpson képletű paraméterei a következők: az integráció korlátozza a és b; képpontok számát, amelybe a [a, b], kotoroeobyavleno float típusú, hogy kizárja a végrehajtás átalakítás típusát algoritmus; egy mutató egy olyan funkciót, amely a határozott integrál kiszámítása.

float Integral (úszó, úszó, úszó, úszó (* Fun) (float));

// Két teszt funkciókat, amelyeknek szerves számítják.

// számolja az első integrál.

a = -1; b = 1; n = 100; I = Integrál (a, b, n, Function1); cout<

// kiszámítjuk a második integrál.

a = 0; b = 1; n = 100; I = Integrál (a, b, n, Function2); cout<

érvényteleníti Read (int x)

érvényteleníti hozzáfűzése (int x)

2. példa (+) A dinamikus tömb függvénymutatók. Az x = 0, 0,2, ..., 1 levezetni a táblázatot az értékek a három funkciót.

// szövegek a két funkció. A harmadik funkció - szabványos cos (x).

kettős MyExp (double x)

kettős Myq (double x)

/ * Állapítsa, és hozzon létre egy sor mutató funkciók egy valós lehetőség. * /

kettős (* (* fun)) (dupla) = új (dupla (* [n]) (dupla));

// hozzárendeli elemeket létrehozni egy sor funkció neveket.

// Hurok változtatni x

a (float x = 0; x<1; x+=0.2)

/ * Hurok kimeneti értékei az összes funkciót egy fix érték x. * /

printf ( "% 20.6f", fun [j] (x));




Kapcsolódó cikkek