begin process at 2010 03 22 14:43:01
  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 avec les fonctions virtuelles [ par nisaloncaje ] Salut, j'utilise dans mon programme un vector qui contient plusieurs types d'objets issus d'une meme classe (class_mere) qui est abstraite. Pour la dé Problème avec un pointeur passé en paramètre [ par exar ] Bonjour à tou(te)s !J'ai un petit problème avec un pointeur passé en paramètre...Voici ce qui se passe:J'ai une classe abstraite A, une classe fille A Problème d’accès au contrôle d’une fenêtre. [ par Superweight ] Bonjour a tous,Mon problème est le suivant: lorsque que je crée une nouvelle classe sous un projet SDI, je souhaite pourvoir contrôler les contrôles d Problème de DLL [ par aztcaLISS ] Salut,J'ai créé une DLL.Dans cette DLL il y a une fonction qui me permet d'instancier une classe et de me retourner cette nouvelle instance comme ceci Problème d'accesseur [ par lapinchou ] Bonjour, J'espère avoir trouvé le bon endroit pour poser ma question.Voila j'ai 4 classes A B C et DJe souhaiterai accéder à un vecteur créer dans la Singleton ... je suis perdu !!! [ par jashnlt ] Bonjour à tous,j'ai un gros problème que j'essai de résoudre depuis trop de temps maintenant : je suis en train de développer un jeux (original ), et 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 Problème avec mes #include [ par Makazasky ] Salut, j'ai plusieurs classes qui ont besoin l'une de l'autre, cependant j'y arrive pas, Chaque classe a sont en-tête et chaque en-tête voici mon proj


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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 : 1,997 sec (3)

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