C++ deux classes, un pointeur
Laaris
-
Laaris -
Laaris -
Bonjour,
Je dois programmer un puissance 4 en C++, avec un mode joueur contre ordinateur et un mode deux joueurs.
J'ai donc une classe joueur dont héritent deux sous-classes: humain et cpu.
Je veux pointer alternativement sur chacune des sous-classes avec le même pointeur, pour changer de joueur. J'ai donc pensé à utiliser un pointeur de type joueur*.
Mais j'ai un petit problème, chacune de mes sous-classes possède une méthode appelée tourdejeu, qui porte le même nom, mais n'est pas la même dans les deux sous-classes (c'est pour ça que je ne la met pas dans joueur).
Et donc, quand j'utilise un pointeur joueur*,pour appeler la fonction tourdejeu d'une de mes sous-classes,
exemple
humain joueurhumain1(name); //création d'une instance de la classe humain (qui hérite de la classe joueur)
joueur* joueur_courant; //création d'un pointeur sur le type class joueur
joueur_courant=&joueurhumain1; //affectation de l'adresse de joueurhumain1au pointeur
joueur_courant->tourdejeu(); // appel de la fonction tourdejeu() de l'instance joueurhumain1
Le compilateur me dit: «class joueur» has no member named «tourdejeu».
Comment puis-je faire?
Je dois programmer un puissance 4 en C++, avec un mode joueur contre ordinateur et un mode deux joueurs.
J'ai donc une classe joueur dont héritent deux sous-classes: humain et cpu.
Je veux pointer alternativement sur chacune des sous-classes avec le même pointeur, pour changer de joueur. J'ai donc pensé à utiliser un pointeur de type joueur*.
Mais j'ai un petit problème, chacune de mes sous-classes possède une méthode appelée tourdejeu, qui porte le même nom, mais n'est pas la même dans les deux sous-classes (c'est pour ça que je ne la met pas dans joueur).
Et donc, quand j'utilise un pointeur joueur*,pour appeler la fonction tourdejeu d'une de mes sous-classes,
exemple
humain joueurhumain1(name); //création d'une instance de la classe humain (qui hérite de la classe joueur)
joueur* joueur_courant; //création d'un pointeur sur le type class joueur
joueur_courant=&joueurhumain1; //affectation de l'adresse de joueurhumain1au pointeur
joueur_courant->tourdejeu(); // appel de la fonction tourdejeu() de l'instance joueurhumain1
Le compilateur me dit: «class joueur» has no member named «tourdejeu».
Comment puis-je faire?
A voir également:
- C++ deux classes, un pointeur
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Comment faire deux colonnes sur word - Guide
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide