begin process at 2012 02 12 17:47:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

POO : problème d'objet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

POO : problème d'objet

samedi 22 mars 2008 à 16:05:46 | POO : problème d'objet

Kelm0

Bonjour tout le monde, pour ceux qui connaissent le C++, j'ai un petit problème : je voudrais poser des conditions en fonction du nom de tel ou tel objet d'une même classe :

Pour exemple :

void Classe::attaque(Classe &Reference_a_la_Cible, int dommage)
{
if (Reference_a_la_Cible == Gaston) { cout << "Gaston est attaqué." }
if (Reference_a_la_Cible  ... { cout << "... est attaqué." }
}


La partie barrée étant la faute dans mon compilo (Gaston n'est pas défini ...).

samedi 22 mars 2008 à 16:44:33 | Re : POO : problème d'objet

mmaximum

Où est défini ta variable Gaston, si ce n'est  pas une varible écrit la entre "", ce qui donne

void Classe::attaque(Classe &Reference_a_la_Cible, int dommage)
{
if (Reference_a_la_Cible == "Gaston") { cout << "Gaston est attaqué." }
if (Reference_a_la_Cible  ... { cout << "... est attaqué." }
}



Sinon, il faut que tu la définisse dans ton fichier .h ou .hpp comme ça si c'est du c++, si c'est du c, du utilise printf() à la place de std::cout et tu n'include pas strings
Je me souviens plus si il y a un s à string, essaye les 2(string et strings)

#include <strings>
class Nomdelaclasse
{
private:
//Les variables
et fonctions privé
std::string Gaston="blabla";//Tu peut aussi la déclarer en variable public
public:
//Les variables et fonctions public
void attaque(
Classe &Reference_a_la_Cible, int dommage);
};

Je pense que c'est ce que tu cherchais
samedi 22 mars 2008 à 17:33:51 | Re : POO : problème d'objet

luhtor

Impossible et interdit d'initialiser un membre d'une classe comme ca:
class Nomdelaclasse
{
private:
//Les variables
et fonctions privé
std::string Gaston="blabla";//Tu peut aussi la déclarer en variable public
public:


Tout se fait dans le constructeur.
samedi 22 mars 2008 à 19:34:48 | Re : POO : problème d'objet

mmaximum

Oups, j'avais oublié!!!
samedi 22 mars 2008 à 19:45:52 | Re : POO : problème d'objet

Kelm0

Mais pour moi Gaston est un objet de la classe Classe (il peut y en avoir une dizaine d'autre Objets de cette même classe) et, en faisant dans le main :

Classe Gaston, Paul
Paul.attaque(Gaston) //je veux le message : "Gaston est attaqué par Paul"
Gaston.attaque(Paul)
//je veux le mesage : "Paul est attaqué par Gaston"

je dois poser une condition :
if (&reference_a_la_cible == Paul ou Gaston) { cout ... }

PS : le " " ça marche pas :/

 

samedi 22 mars 2008 à 20:22:20 | Re : POO : problème d'objet

jfrancois

Réponse acceptée !

Bonsoir,

Voici un exemple possible avec le nom du joueur stocké dans sa propre instance (j'ai pris une chaîne fixe mais on peut modifier avec de l'allocation dynamique) :

#include "stdio.h"
#include "string.h"

// --- Classe
class Attaquant
{
   public:
   Attaquant(const char*);
   ~Attaquant();
   void attaque(const Attaquant&);

   private:
   char m_Joueur[32];
};


// --- Constructeur
Attaquant::Attaquant(const char* Joueur)
{
   strcpy(m_Joueur,Joueur);
}


// --- Destructeur
Attaquant::~Attaquant()
{
}


// --- Attaque
void Attaquant::attaque(const Attaquant& Joueur)
{
   printf("%s est attaque par %s\n",Joueur.m_Joueur,m_Joueur);
}


void main()
{
   Attaquant Gaston("Gaston"),Paul("Paul");
   Paul.attaque(Gaston); // je veux le message : "Gaston est attaqué par Paul"
   Gaston.attaque(Paul); // je veux le mesage : "Paul est attaqué par Gaston"
}

Jean-François

dimanche 23 mars 2008 à 10:58:11 | Re : POO : problème d'objet

Kelm0

ah ok j'ai compris, il fallait donner un paramètre supplémentaire pour le nom du joueur, merci ^_^


Cette discussion est classée dans : problème, objet, classe, cible, reference


Répondre à ce message

Sujets en rapport avec ce message

Portée d'un objet créer [ par Nixeus ] Bonjour,Grosse question de newbie j'avoue, mais je rencontre un problème.Le logiciel que je développe, doit se voir créer un seul et unique Objet "CGe problème d'héritage sous C++ avec objet COM [ par sallenou ] Bonjour, J'ai un petit problème avec C++ et un objet COM (développer sous VB.NET). Dans cette objet COM, j'ai une classe B qui hérite d'un classe A c OBJET AVEC DES CLASSE [ par stephe8 ] SLT tout le monde mon probleme c'est que je suis un debutant en C++ j'ai des bonnes connaissance en C et je suis entrain de commencer les etudes en C+ problème lecture variable de classe dans un singleton [ par totoscill ] Bonjour, Je rencontre un problème pour lire une variable statique de ma classe singleton "model". En effet dans cette classe, je declare: .h: public Problème ajout de variables [ par executals ] Bonjour, Je programme avec Visual Studio 2008 depuis peu (j'utilisais jusque là la version 2005). Je tiens à préciser que je possède une version LEGAL Classe et heritage [ par malkommalkom ] Bonjour a tous Bon alors voila : j'ai une classe : template class maClasse { public: maClasse(); ~maClasse(); }; template class Pb - APPEL NON VOULU DU DESTRUCTEUR [ par eupeup ] Salut à tous!!! bon j'ai un tit soucis, et si quelqu'un pouvait m'éclairer, ce serait super sympa... D'une part, j'ai une classe définissant un ob stocker une un objet d'une classe c++ dans la structure DOM [ par jijaLaClasse ] Bonjour à tous, J'ai besoin de savoir comment on peut stocker en mémoire un objet d'une classe C++ dans la structure DOM pour pouvoir le parcourir en Problème classe [ par krokro6 ] Bonjour, voici mon problème: J'ai deux classe, une classe A et une classe B: class A { public : A(); virtual ~A(); int Pos problème avec vtk [ par eldana ] Bonjour à tous.J'ai un petit souci avec la librairie vtk. Je dois faire différents graphes, donc jusqu'a la aucun souci, vu qu'il y a une classe vtkGr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales