виртуален прототип функция = 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, в) на (а) <>
състояние, които ()
живеещи * следващия (свят w); // отложено метод за FOX
// текущия клас - само жертви
клас заек: обществен живеене
вътр възраст; // използва, за да се вземе решение за смъртта
заек (междинно съединение R, междинно съединение с, Int а = 0): дневна (R, в) на (а) <>
състояние, които ()
живеещи * следващия (свят w); // отложено метод за заешко
// текущата класа - само растения
клас трева: обществен живеене
трева (междинно съединение R, Int в): дневна (R, в) <>
състояние, които ()
живеещи * следващия (свят w); // отложено метод за трева
клас празно: обществен живеене
празен (междинно съединение R, Int в): дневна (R, в) <>
състояние, които ()
живеещи * следващия (свят w); // отложено метод за празни
Моля, имайте предвид, че проектът дава възможност да се развиват други форми на хищник, жертва живота на растенията и с помощта на следващото ниво на наследяване. Характеристики на поведението на всички форми на живот в определена версия следващата ().
Дневна * трева :: следващата (свят w)
ако (сума [ТРЕВА]> сума [заек) // яде трева
връщане (нов трева (ред, колона));
върне (нов празен (ред, колона));
Трева може да се яде заек. Ако има повече в околностите на трева, не върху зайци, трева остава, в противен случай - трева ще бъде изяден.
Свързани статии