#include <iostream>
#include <strings.h>

class Player {
protected:
   char *name;
   Player() { /* subclass takes care of initialization */ }
public:
   Player(char *s) {
      name = strdup(s);
   }
   ~Player() {
      free(name);
   }
   char *getname() {
      return name;
      }
   };

class Pitcher : public Player {
   int pitchingstyle;
public:
   Pitcher(char *s) {
      name = strdup(s);
   }
   int pitch() { }
};

#define pitcher 0
#define firstbase 1

class BaseballTeam {
   Player *players[25];
public:
   BaseballTeam() {
      players[pitcher] = NULL;
      }
   void setpitcher(char *s) {
      if (players[pitcher] != NULL)
         delete players[pitcher];
      players[pitcher] = (Player *)(new Pitcher(s));
      }
   void print() {
      std::cout << players[pitcher]->getname() << std::endl;
   }
};

int main()
{
   BaseballTeam b;
   b.setpitcher("Vida Blue");
   b.print();
}
