ПредишенСледващото

виртуален прототип функция = 0;

Pure виртуална функция се използва за "отменено" решението за прилагане на функцията. В обектно-ориентиран терминология, това се нарича по забавен начин.

За да се обясни това понятие чрез разработване на примитивна форма на екологичното моделиране. В нашия пример, ние ще имаме различни форми на живот, взаимодействие с абстрактен базов клас живеещо. Създаване на лисица (лисица) като типичен хищник и заек (заек), както си жертва. Заек яде трева (трева).

конст Int N = 40, гласи = 4; // размер на квадратен областта

typedef дневна * свят [N] [N]; // свят ще бъде модел

клас на живот

Int ред, колона; // местоположение

невалидни суми (свят, Int см []); // см [#states] използва следващата

дневна (междинно съединение R, Int в): ред (R), колона (в) <>

виртуален състояние, които () = 0; // идентификационни състояния

виртуален живеене * следващия (свят w) = 0; // изчисляване на следващия

невалидни живот :: суми (w свят, вътр см [])

за (INT I = 1; и <= 1; i++)

за (Int J = 1; й <= 1; j++) sm[w[row+i][column+j]->който ()] ++;

// текущия клас - само хищници

клас лисица: обществен живеене

вътр възраст; // използва, за да се вземе решение за смъртта

лисица (междинно съединение R, междинно съединение с, Int а = 0): дневна (R, в) на (а) <>

състояние, които () // отложено метод за FOX

живеещи * следващия (свят w); // отложено метод за FOX

// текущия клас - само жертви

клас заек: обществен живеене

вътр възраст; // използва, за да се вземе решение за смъртта

заек (междинно съединение R, междинно съединение с, Int а = 0): дневна (R, в) на (а) <>

състояние, които () // отложено метод за заешко

живеещи * следващия (свят w); // отложено метод за заешко

// текущата класа - само растения

клас трева: обществен живеене

трева (междинно съединение R, Int в): дневна (R, в) <>

състояние, които () // отложено метод за трева

живеещи * следващия (свят w); // отложено метод за трева

клас празно: обществен живеене

празен (междинно съединение R, Int в): дневна (R, в) <>

състояние, които () // отложено метод за празни

живеещи * следващия (свят w); // отложено метод за празни

Моля, имайте предвид, че проектът дава възможност да се развиват други форми на хищник, жертва живота на растенията и с помощта на следващото ниво на наследяване. Характеристики на поведението на всички форми на живот в определена версия следващата ().

Дневна * трева :: следващата (свят w)

ако (сума [ТРЕВА]> сума [заек) // яде трева

връщане (нов трева (ред, колона));

върне (нов празен (ред, колона));

Трева може да се яде заек. Ако има повече в околностите на трева, не върху зайци, трева остава, в противен случай - трева ще бъде изяден.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!