Какой класс игрока создан лучшей иерархией?

Какой класс более приемлем для будущих реализаций? Штурмовой хищник (множественное наследование) или королева (многоуровневая иерархия)?

#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 ответ

Решение

Они просто разные. Множественное наследование позволяет объединять отдельные объекты в один. Многоуровневое наследование позволяет дальнейшую спецификацию типа.

Другие вопросы по тегам