question regarding oop
Simen Kjaeraas
simen.kjaras at gmail.com
Sat Jun 28 14:06:44 PDT 2008
Moritz <mpipahl at gspgmbh.com> wrote:
> Hello everyone,
>
> Im new to the D language and have a question regarding a slightly
> advanced matter:
>
> Im currently porting the code of a game Im writing to D, and right now
> Im working on the event handling (reacting to user input).
> Since Im doing a strategy game, I have several menues and I need a way
> to connect a menu to the state my game is in, so when the player clicks
> somewhere, I can use the hashtable to determine which menu class should
> react.
>
> I think an asossiative array is the way I should go, key would be the
> state my game is in and the value would be the corresponding Menu.
> But since there are several different menu classes, I need some way to
> put them all in the value area of the array.
>
> In C++, I could make them all inherit from a specific base class, and
> use the base class as data type for the value, so I effectively had
> different menues in one datatype in that hashmap.
>
> How can I do this in D?
The exact same way, for one.
class Menu
{
}
class DerivedMenu : Menu
{
}
Menu[GameState] menuArray;
...
menuArray[currentGameState] = new DerivedMenu();
-- Simen
More information about the Digitalmars-d-learn
mailing list