Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dziedziczenie c++

Ostatnio zmodyfikowano 2017-11-11 17:57
Autor Wiadomość
Wuwus1
Temat założony przez niniejszego użytkownika
Dziedziczenie c++
» 2017-11-11 11:08:34
Zacząłem programować prototyp gry strategicznej i napotkałem na problem z dziedziczeniem klas. Mianowicie mam klasy Stats, Editor i Controls, które są klasami bazowymi. Dziedziczy je publiczne klasa pochodna Unit, która jest kolejną klasą bazową, którą dziedziczą wyspecjalizowane jednostki Soldier i Miner. Chciałbym aby podczas wywoływania wskaźnika na jednostki i przypisaniu im np. trzech żołnierzy i dwóch kopaczy korzystali z jednej klasy Controls ale żeby miały osobne klasy Stats i Editor. Na dole dołączam uproszczoną strukturę klas.
C/C++
class Stats
{
    //Zarządza statystykami jednostki
};

class Editor
    : public sf::Drawable
{
    //Edytuje jednostkę wizualnie np. pozycje czy wielkość
};

class Controls
{
    //Klasa która wysyła różne dane pobierane z myszy i klawiatury
    //do klasy Editor
};

class Unit
    : public Editor
     , public Stats
     , public Controls
{
    //Klasa jednostki zawiera inicjalizuje publicznie dziedziczone
    //klasy
};

class Soldier
    : public Unit
{
    //klasa żołnierz
};

class Miner
    : public Unit
{
    //klasa kopacz
};

//...
P-166714
michal11
» 2017-11-11 11:50:22
Moim zdaniem nie powinieneś w ogóle dziedziczyć w takim przypadku tylko zawierać te niezwiązane bezpośrednio ze sobą elementy w jeden klasie jako składniki. Możesz sobie wyszukać hasło: " composition over inheritance"
P-166715
Wuwus1
Temat założony przez niniejszego użytkownika
» 2017-11-11 17:57:25
Dzięki wielkie zapoznałem się z tematem i postaram się to zastosować w programie.
P-166754
« 1 »
  Strona 1 z 1