begin process at 2012 05 29 19:42:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

objet dans une fonction


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

objet dans une fonction

lundi 5 février 2007 à 22:10:53 | objet dans une fonction

jfrag

Bonjour,
voila j'ai un gros probleme
en fait j'ai un objet declarer dans une fonction le probleme est aue je veus recuperer une fonction de cette objet et il ne veut pas.
je vous passe le code se sera plus simple a comprendre merci

main.cpp

#include <cstdlib>
#include <iostream>
#include "groupe.h"
#include "personnage.h"

using namespace std;

int main(int argc, char *argv[])
{
    CL_Perso pers;
    //pers.CL_Persos(3,2);
la ici j'essai de recuperer la fonction diviser_pv() mais je n'y arrive pas (l'objet mage est crees dans la fonction CL_Perso plus bas)
    sa ne marche pas ==>pers.CL_Persos(3,2).mage.diviser_pv();
    cout << "perso pt_vie: "<< pers.pt_vie << endl;
    cout << "perso pt_attaque: "<< pers.pt_attaque << endl;
   
    system("pause");   
    return 0;
}


perso.cpp:
void CL_Perso::CL_Persos(int race, int metier)
{

     if (race==1)
     {
         CL_Humain humain;
         pt_attaque=humain.pt_attaque;
         pt_vie=humain.pt_vie;
         }else if(race==2)
         {
              CL_Nain nain;
              pt_attaque=nain.pt_attaque;
              pt_vie=nain.pt_vie;
              }else if (race==3)
              {
                   CL_Elf elf;
                   pt_attaque=elf.pt_attaque;
                   pt_vie=elf.pt_vie;
                   }
     if (metier==1)
     {
         CL_Guerrier guerrier;
         pt_attaque=pt_attaque+2;
         }else if(metier==2)
         {
le probleme est la : j'ai mon objet mage est dans cette objet j'ai la fonction diviser_pv() mais je n'arrive pas a l'utiliser en creant un objet CL_Perso            
              CL_Mage mage;
              }else if (metier==3)
              {
                   CL_Pretre pretre;
                   }else if (metier==4)
                   {
                        CL_Invocateur invocateur;
                        }
     };

merci de votre aide
lundi 5 février 2007 à 23:36:08 | Re : objet dans une fonction

yann_lo_san

A ce que je vois CL_Persos ne renvoi pas de reference sur quoi que ce soit !
CL_Persos(3,2).mage(...)

Pour que ça marche il faudrait :

CL_Mage& CL_Perso::CL_Persos(int race, int metier)
{
   CL_Mage* pmage = new CL_Mage;
   ...
   return(*pmage);
}

A ceci près que l'appelant doit se charger de détruire l'objet CL_Mage.
Sinon je ne vois pas comment tu peux faire avec ce genre de construction alambiquée.

mardi 6 février 2007 à 09:16:21 | Re : objet dans une fonction

turnerom

Ce que tu fais est tout sauf de la programmation objet ! Fait une classe mère abstraite perso (par exemple) dont hérite chacune de tes races. Tu veras que tu auras dejà bcp moins de problèmes d'implémentation par la suite !


Cette discussion est classée dans : fonction, objet, pt, cl, attaque


Répondre à ce message

Sujets en rapport avec ce message

compteur binaire [ par DJOL ] bonjour ami developpeur!je suis en 1ere année de bts iris et je dois réaliser un compteur binaire en programmation objet. l'objet est réaliser mais la fonction pr detruire l'objet qui l'appel [ par mat74 ] Salut a ts ,voila je voudrai creer une fonction qui permettrai de detruire l'objet qui l'appel ( ds une classe )j'ai essayer sa :void ennemis::detruir Pb avec la modification d'un pointeur dans une fonction [ par graphtyrael ] Bonjour à tous!Pour un projet que je suis actuellement entrain de finaliser j'ai besoin de modifier dans une fonction un pointeur de caractères passé pb avec _fmemcpy [ par Drahl ] Bonjout tous le monde !! j'utilise un microcontroleur fujitsu que je programme en C, et je souhaite copier une sous-programme qui ce trouve initialeme contenu d'un objet [ par erazor ] salut, j'ai besoin de recuperer toutes les donnes contenues dans un objet pour les utiliser avec une fonction appartenant a un autre objet, avez une i wchar [ par xterminhate ] j'ai un objet de type ( const wchar_t * ). Je voudrais passer cet objet en paramètre d'une fonction f( const char * ). Existe-t-il une fonction de co une classe static [ par Adeon ] bonjour a tous!je suis sur le developpement d'un jeux.certaine classe ne contienne qu'un seul objet comme par exemple la classe Interface, ou encore l quelle fonction pour avoir le handle afin de crée un objet directinput ? [ par vini456 ] bonjour ,quelle est la fonction pour avoir le handle de ma winmain afin de crée un objet directinput ? Pb fonction, char [ par Sim 2005 ] Salut,J'ai un problème dans l'appel d'une fonction, il se poduit une erreur lors de la compilation. Il s'agit de Regopenkeyex, selone le prototype, po inclure un objet dans une fonction d'un autre objet... [ par ptidiable ] Salut a tous :)Voila j'ai deux Objets : Serpent et Moteurj'aimerais fair une fonction dans serpent qui reçoivent en paramétre un objet de type Moteurl


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



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

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