Barátságos funkciók (módszerek) c
Ebben a cikkben a következőkről beszélünk:
- Mik azok a barátságos funkciók, és ami a legfontosabb, miért van szükség.
- Mi a különbség a szokásos osztálymódszerek és az osztály baráti funkciói között?
- Hogyan lehet bejelenteni és meghatározni a barátságos funkciókat?
- Hogyan hívhatunk barátságos funkciókat a fő () függvényből.
A legfontosabb, de legvalószínűbb, a leginkább érthetetlen számodra most egy barátságos funkció meghatározása.
A barátságos funkció egy olyan funkció, amely nem tagja az osztálynak, de hozzáférést biztosít a privát vagy védett területeken bejelentett osztály tagjaihoz.
Hosszú ideig ne tekintsd át a meghatározás lényegét, hanem egyenesen a következő bekezdésre. Megígérem, hogy a cikk elolvasása után vissza fog térni ehhez a definícióhoz, és meglátogatja a gondolat: "Nos, igen, szóval! Itt minden világos! "
névtér std;
név = új karakter [20];
cout <<". Деструктор. " < barátom void getData (Woman25); >; // A Woman25 meghatározása lejárt void setData (char * n, int w, Woman25) object) // define friend-function setData void getData (Nő25 object) // define friend függvény getData cout < void Woman25 :: setData (char * n, int w) / / definiálja az osztály beállított módját void Woman25 :: getData () // határozza meg az osztály get-metódusát cout < void Woman25 :: tanácsadás () // határozza meg az osztályt módszer tanácsát ha (súly <55)/если вес меньше 55 кг cout <<"Вам надо потреблять больше калорий!" < > egyébként, ha (súly> = 55 súly <= 65)/если вес в пределах 55-65 кг cout <<"Ваш вес в норме!" < cout <<"Вам надо ограничивать себя в еде!" < Woman25 Norm; // létrehozza a Norm objektumot, a konstruktor működni fog, és a tömeg lesz = 60, név - Norm Norm.getData (); // hívja az osztály módszert Woman25 Anna; // Második objektum Anna.setData ("Anna", 100); // Hívja az osztály módszert Anna.getData (); // Hívja az osztály módszert Anna.advise (); // Hívja az osztály módszert Woman25 Inna; // Harmadik tárgy setData ("Inna", 50, Inna); // Hívja fel a barátságos funkciót getData (Inna); // Hívja fel a barátságos funkciót Inna.advise (); // Hívja az osztály módszert Most talán a legérdekesebb, a baráti funkciók és az osztály szokásos módszereinek osztályán kívül eső definíció. Mindez a 32-66. Sorban található. Lásd, mikor meghatároztuk a barátságos funkciókat. 32-36 és 38-41 vonalakon, nem használunk operátort. kettőspont (a módszer hatóköre). Ez már azt mondja nekünk, hogy a barátságos funkció nem tartozik az osztályhoz, nem alkotórésze. Más módszerek meghatározásakor használja a kezelőt. kötelező. A tanácsadás () osztály módszere. a kapott súlyadatok alapján a felhasználónak az egyik tippje vagy jelentése, hogy a súly normális. Menjen a fő funkcióra - a 68 - 87 sorok. Itt hozunk létre egy objektumot a Woman25 Norm; amikor létrejön, a konstruktor aktiválja és inicializálja a neveket és súlyelemeket. A Norm.getData () osztálymódot nevezzük; a normál érték megjelenítéséhez. A második teremtett tárgy, Woman25 Anna; Úgy dolgozunk, hogy felhívjuk a szokásos szetteket, és megkapjuk az osztály módszereit, valamint a harmadik, a Woman25 Inna harmadik tárgyát; - Barátságos funkciókat okoz. Amint láthatja, olyan funkcióknak hívják őket, amelyek nem tartoznak az osztályhoz. Az osztályobjektumot paraméterként adjuk át. Futtassa a programot, és tekintse meg a következőket: Destructor. A folytatáshoz nyomjon meg egy gombot. Most, mint mindig, van egy kis elmélet az anyag rögzítéséhez: Ez az egész.
. Destructor.
. Destructor.
Kapcsolódó cikkek