Kivonat alaposztályok - studopediya

virtuális prototípus funkció = 0;

Tisztán virtuális függvény használják „pihentetett” a döntést, hogy végre a funkciót. A OOP terminológia, ez az úgynevezett késleltetett módon.

Megmagyarázni ezt a koncepciót a fejlődő primitív formája az ökológiai modellezés. A példánkban mi lesz a különböző életformák interakció az absztrakt alap osztály nappali. Készítsen róka (fox), mint egy tipikus ragadozó és nyúl (nyúl), mint az áldozatot. Nyúl füvet (fű).

const int n = 40, ÁLLAMOK = 4; // mérete a tér nagysága

typedef élő * világ [N] [N]; // világ egy modell

osztály nappali

int sor, oszlop; // helyen

void összegek (world, int sm []); // SM [#states] alkalmazzuk a következő

élő (int R, int c): sorban (R), (c) oszlop <>

virtuális állam, aki () = 0; // azonosító államok

virtuális nappali mellett * (world w) = 0; // számolja következő

void élő :: összegek (world w, int sm [])

A (int i = 1; i <= 1; i++)

A (int j = -1; j <= 1; j++) sm[w[row+i][column+j]->aki ()] ++;

// az aktuális osztály - csak a ragadozók

osztály róka: nyilvános nappali

int kor; // használják, hogy a döntést a halál

Fox (int R, int c, int a = 0): élő (r, c), kor (a) <>

állam, aki () // halasztani Eljárás FOX

nappali mellett * (world w); // halasztani Eljárás FOX

// az aktuális osztály - csak az áldozatok

osztály nyúl: nyilvános nappali

int kor; // használják, hogy a döntést a halál

nyúl (int R, int c, int a = 0): élő (r, c), kor (a) <>

állam, aki () // halasztani Eljárás NYÚL

nappali mellett * (world w); // halasztani Eljárás NYÚL

// az aktuális osztály - csak azok a növények

osztály fű: nyilvános nappali

fű (int r, int c): nappali (r, c) <>

állam, aki () // halasztani Eljárás GRASS

nappali mellett * (world w); // halasztani Eljárás GRASS

osztály üres: nyilvános nappali

Üres (int r, int c): nappali (r, c) <>

állam, aki () // halasztani Eljárás EMPTY

nappali mellett * (world w); // halasztani Eljárás EMPTY

Felhívjuk figyelmét, hogy a projekt lehetővé teszi, hogy dolgozzon egyéb ragadozó, az áldozatok és a növényi élet, a következő szint az örökséget. Jellemzői viselkedésének életformák rögzített változat next ().

Nappali * fű :: next (világ w)

if (összege [GRASS]> összeg [nyúl) // füvet

visszatérési (új fű (sor, oszlop));

vissza (új üres (sor, oszlop));

Grass lehet enni nyúl. Ha van még a környéken a fű, mint a nyúl, fű marad, különben - fű fog enni.

Kapcsolódó cikkek