Je vous explique mon problème : je souhaiterais créer un tableau qui pourrait contenir des objets de types différents.
J'ai crée une classe equipe comme ceci :
class team
{
protected:
string name;
int n; // maximal number of players
int occupation; // number of players already registrered in the team
player *list_players;
}
J'ai mis ici que les différents states de la classe.
Dans mon constructeur je definis ma list_players comme ceci :
list_players = new player [n];
ou player est la classe qui represente un joueur.
Le problème c'est que j'ai deux classes qui dérivent de joueurs : les pros et les en formation...
donc dans ma list_players de ma team je voudrais à la fois mettre des joueur pro et des joueur en formation...
Deux types différents dans un même vecteur... Et ca je sais pas faire
Salut :)
Tu peux définir une classe de base Joueur, et deux classes dérivées JoueurPro et JoueurFormation.
Tu pourras alors définir un vecteur de Joueur.
Trouve un bon cours C++ pour t'expliquer le fonctionnement de ceci, par exemple ici.
Bon voila une bonne chose de faite j'ai compris comment on cree un tableau avec des objets de différentes classes dérivées. Cependant mon problème vient de s'aggraver.
En effet ma classe mère que j'ai appelé classe player est en fait une abstract class...
Dans ma classe team je veux mettre un tableau de players, mais je n'arrive pas à déclarer ma classe.
Dans l'idéal ca serait
class player
string name;
.....
player *list_players;
....
Puis quand je définis mon constructeur je fais
list_players=new players[20];
mais je n'ai pas le droit d'alloquer de la mémoire pour une abstract classe, la est le problème...