Tableau avec des objets différents...

Résolu
petitavion414 Messages postés 8 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 10 novembre 2006 - 27 oct. 2006 à 14:42
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 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

Merci d'avance

3 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
27 oct. 2006 à 17:19
Il faut utiliser des pointeurs, c'est le seul moyen d'utiliser le polymorphisme:

player** list_players;
list_players=new players*[20];
_____________________________________
Un éditeur de ressources gratuit pour Windows
3
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
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.

Enjoy, ++
0
petitavion414 Messages postés 8 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 10 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...
0
Rejoignez-nous