Какой класс игрока создан лучшей иерархией?
Какой класс более приемлем для будущих реализаций? Штурмовой хищник (множественное наследование) или королева (многоуровневая иерархия)?
#include "stdafx.h"
#include<stdlib.h>
class living
{
public:
int hitpoints;
int adaptation;
};
class alien:public living
{
public:
bool tail;
bool claws;
bool legs;
bool secondary_jaws;
bool acid_blood;
alien(){adaptation=1000;hitpoints=50;}
};
class queen:public alien
{
public:
bool ovipositor;
bool tertiary_jaws;
};
class predator
{
public:
bool legs;
bool arms;
bool glowstick_blood;
};
class assault_predator:public living,public predator
{
public:
bool plasma_caster;
bool infrared_vision;
assault_predator(){hitpoints=150;adaptation=33;}
};
int main()
{
assault_predator player1;
queen player2;
getchar();
return 0;
}
Как видно, нападение хищника происходит от живого и хищника отдельно. Королева происходит от инопланетян, а инопланетянин - от живых
Вопрос: Какой из них более логичен с точки зрения программирования и иерархии классов.
Каковы минусы и плюсы этих игроков?
1 ответ
Решение
Они просто разные. Множественное наследование позволяет объединять отдельные объекты в один. Многоуровневое наследование позволяет дальнейшую спецификацию типа.