HERITAGE :Problème avec le démasquage d'une fonction
Résolu
toufeux
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
toufeux Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
toufeux Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
salut,
Je suis en train de faire un petit jeu de stratégie sur l'invite de commande windows,
Le jeu se joue contre un Bot donc je créait un Objet Personnage avec les fonction de base et la classe Joueur herité de Personnage. Le problème intervient lorsque du démasquage d'une fonction de la classe Personnage qui a un argument pas récupérer la valeur de retour de la fonction et le compilateur me dit que les variables de Personnage sont protéger alors que je les utilise avec l'objet Joueur.
et l'objet hérité de Personnage :
merci d'avance pour vos réponse :p
Je suis en train de faire un petit jeu de stratégie sur l'invite de commande windows,
Le jeu se joue contre un Bot donc je créait un Objet Personnage avec les fonction de base et la classe Joueur herité de Personnage. Le problème intervient lorsque du démasquage d'une fonction de la classe Personnage qui a un argument pas récupérer la valeur de retour de la fonction et le compilateur me dit que les variables de Personnage sont protéger alors que je les utilise avec l'objet Joueur.
class Personnage
{
public:
Personnage();
void moinsTroupe(int moins);
int attaquer(Personnage const& cible);
bool plusTroupe(int nombreTroupe, int prix);
void plusArgent();
int plusMine();
int desarmement();
int espionnage();
bool gagne();
protected:
int m_progression;
int m_troupe;
int m_troupeL;
int m_mineN;
int m_argent;
std::string m_nom;
std::string m_pays;
double m_redement;
};
et l'objet hérité de Personnage :
#include "Personnage.h"
class Joueur : public Personnage
{
public:
Joueur();
void selecteur();
void getNom();
void attaquer(Personnage const& cible);
void plusTroupe();
void plusMine();
void desarmement(Personnage const& cible);
void espionnage(Personnage const& cible);
};
void Joueur::desarmement(Personnage const& cible)
{
int *readDesarmement(0); readDesarmement =new int;
- readDesarmement =Personnage::desarmement(Personnage const& cible); switch(*readDesarmement) { case 0: std::cout<< "Vous n'avez pas assez d'argent"<< std::endl; getch(); break; case 1: std::cout<< "Votre conferance a echoue"<< std::endl; getch(); break; case 2: std::cout<< "Votre conferance a eu du succes"<< std::endl; getch(); break; } delete readDesarmement; readDesarmement =0;}
merci d'avance pour vos réponse :p
A voir également:
- HERITAGE :Problème avec le démasquage d'une fonction
- Que du fake formate héritage - Forum Consommation & Internet
- Cheick yvan formate héritage - Forum Java
- Maison héritage canapé avis - Forum Consommation & Internet
- Arnaque aux canape. - Forum Vos droits sur internet
- Arnaque canapé ✓ - Forum Vos droits sur internet
2 réponses
Salut,
Tu as considéré ton problème comme "résolu" : cependant afin de pouvoir l'afficher comme tel, donner la solution ne serait pas de trop, notamment "au cas où" d'autres seraient confronter à similaire. ;-)
Tu pourras ensuite user du bouton qui permettra de passer le problème en "résolu" ;-)
Tu as considéré ton problème comme "résolu" : cependant afin de pouvoir l'afficher comme tel, donner la solution ne serait pas de trop, notamment "au cas où" d'autres seraient confronter à similaire. ;-)
Tu pourras ensuite user du bouton qui permettra de passer le problème en "résolu" ;-)
toufeux
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
Je comprend mais en faite c'était tout c*n, les déclaration dans
était différente de
Bonjour,
J'ai des difficultés à comprendre ta dernière phrase. Relis là.
Ici des membres de
Un
J'ai des difficultés à comprendre ta dernière phrase. Relis là.
Ici des membres de
Personnagesont indiqués "
protected", cela signifie que :
- les fonctions de
Personnage
peuvent y accéder; - les fonctions de ses héritiers (
Joueurs
, etc) peuvent aussi y accéder; - le reste du monde, n'a aucune possibilité d'y accéder.
Un
Personnagemieux conçu, les aurait indiqués "
private", et ainsi même
Joueurne devrait pas pouvoir y accéder. Seul moyen, utiliser des fonctions de
Personnagequi elles seraient "
public" ou "
protected" et permettrait d'agir. Par exemple, une fonction
int argentRestant()const;pourrait être "
public" car sans risque pour l'intégrité des données de
Personnnage.