petitavion414
Messages postés8Date d'inscriptiondimanche 22 octobre 2006StatutMembreDernière intervention10 novembre 2006
-
27 oct. 2006 à 14:42
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
27 oct. 2006 à 17:19
Salut à tous...
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
platon179
Messages postés237Date d'inscriptionlundi 20 mai 2002StatutMembreDernière intervention22 juillet 20112 27 oct. 2006 à 15:01
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.
petitavion414
Messages postés8Date d'inscriptiondimanche 22 octobre 2006StatutMembreDernière intervention10 novembre 2006 27 oct. 2006 à 17:10
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...