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.