A komponensfunkciók meghatározása - stadopedia

A komponens funkciót mindig le kell írni az osztály testében. A rendszeres (globális) funkcióktól eltérően az összetevő funkció hozzáférhet az osztály valamennyi összetevőjéhez (bármilyen hozzáférési státuszsal). Az osztály funkció-összetevője ugyanolyan kiterjedésű, mint az osztály, amelyhez tartozik. A programozó befolyásolhatja a fordítót úgy, hogy felhívja őt arra, hogy egy funkciót jelöljön be (beágyazva). Ebből a célból a függvénydefinícióban egy inline függvényszó (specifikus) van megadva. Az osztályok meghatározásakor az összetevők funkciói szintén helyettesíthetőek. Az inline szolgáltatási szó kifejezett használatán túl a következő megállapodást alkalmazzuk. Ha a függvényosztályhoz tartozó definíció (nemcsak a prototípus) a teljes osztályba tartozik (az osztály testében), akkor ez a függvény alapértelmezés szerint helyettesíthető. Így definiálják a komplex1, összetett, stroka, a korábban példaként használt osztályok komponensfunkcióit. A felsorolt ​​osztályok összes funkcióját a számítógép képes helyettesíthetőnek tekinteni, azaz minden egyes alkalommal, amikor ezeket a funkciókat hívják, kódjuk közvetlenül beillesztésre kerül a hívási pontba.

De a helyettesített funkciók nem lehetnek semmilyen funkciók. A beillesztendő funkció nem lehet rekurzív, nem tartalmazhat hurkot, kapcsolót stb. Ez a korlátozás nagyon fontos, ezért van egy másik módja annak, hogy meghatározzuk az osztályhoz tartozó funkciókat. Ez abból a tényből áll, hogy az osztály testén belül csak az összetevő funkció prototípusát helyezik el, és definíciója kívül esik az osztályon, mint a programban szereplő bármely más funkció meghatározása. Ezzel az összetevő funkció külső definíciójával inline specifikálóval is ellátható. ugyanakkor a helyettesített funkciókra vonatkozó fenti korlátozások ismét felmerülnek.

A komponens funkció külső meghatározásával a programozónak "el kell mondania" azt a fordítót, amelyikhez tartozó osztály tartozik. Ehhez használja a '::' bináris formátumát (scope scope statement).

A felhasználás formátuma ebben az esetben a következő:

<имя класса>. <имя компонентной функции>

A fenti terv, amelyet az összetevő funkció minősített nevének nevezünk, azt jelenti, hogy a függvény az osztály egyik eleme, és működési körébe tartozik. Ez a definíció egy függvényt egy osztályhoz köt, és lehetővé teszi a test számára, hogy közvetlenül használjon az osztály (objektumai) és az osztályhoz tartozó bármely funkciót (ez a saját saját és védett védett összetevőire vonatkozik).

Egy összetevő funkció külső meghatározásával a prototípus az osztály testébe kerül:

<тип> <имя функции> (<спецификация и инициализация параметров>);

Az osztály testén kívül az összetevő funkció az alábbiak szerint van meghatározva:

<тип> <имя функции> (<спецификация формальных параметров>)

<тело, принадлежащее классу функции>

Példaként egy olyan program, amely a "vektort kétdimenziós térben" használja.

Az osztály komponens adatai (tulajdonságai): vektor koordináták.

Az osztály komponensfunkciói (módszerek):

1) koordináták bevitele;

2) a koordináták származtatása;

3) a vektor hosszának meghatározása.

Kapcsolódó cikkek