List structure for c++ game
<p>I'm making a very very basic game in C++ to gain some experience in the language and I have hit a bit of a brick wall in terms of progress.</p>

<p>My problem is, while I was designing a class for the player's weapons, I realized I required a list, as I will only have a certain number of weapons throughout the game.</p>

<p>So I ask you, if you were designing this, what implementation would you use for storing all of the weapons in a game? Why?</p>

<p>Here is my code so far for the weapons. as you can see I was just about to start defining all of them manually, starting with the "DoubleBlades"... (Edit* I forgot to note that players should be able to have more than one wepaon, and they can pick up more or drop some, so the list can grow and shrink)</p>

<pre><code>#ifndef __WEAPON_H__
#define __WEAPON_H__

#include &lt;string&gt;

class Item
{
  public:
    Item(const std::string&amp; name)
     : name(name){ }
    const std::string&amp; getName(void) const { return name; }
    int getID(void) const { return this-&gt;itemID;}
  private:
   std::string name;
   int itemID;
};

class Weapon
 : public Item
{
  private:
   int damage;
  public:
   Weapon(const std::string&amp; name)
    : Item(name) { }
   virtual int getDamage(void) const = 0;
};

class DoubleBlades
 : public Weapon
{
  public:
   DoubleBlades(int ammo)
    : Weapon("DoubleBlades") { }
   virtual int getDamage(void) const { return 12; }
};

#endif
</code></pre>

<p>Also if you spot any bad habits I would really appreciate letting me know.</p>
