begin process at 2012 05 30 10:00:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Tite question sur le polymorphisme


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

Tite question sur le polymorphisme

vendredi 18 mars 2005 à 12:41:49 | Tite question sur le polymorphisme

tibob51

Membre Club
Bonjour ma questio est simple:
J'ai des classe B,C,D ect... qui dérive de A.
Elle contienne toute une fonction F() sauf A.
Je créé mes classe en utilisan un pointeur sur A(Pa=new B()ect....)
Je voudrais savoir si il est possible d'appeller F() sans qu'elle soit définie dans la classe A.
Dite moi le si c'est pas clair,sinon merci de votre aide.

vendredi 18 mars 2005 à 13:00:07 | Re : Tite question sur le polymorphisme

neodelphi

Membre Club
Je pense pas que ce soit possible a moins de caster ton objet... Mais si ta méthode est dans D B et C pkoi ne pas l'implementer dans A ?

neodelphi
vendredi 18 mars 2005 à 13:04:22 | Re : Tite question sur le polymorphisme

tibob51

Membre Club
C'est une fonction de calcul qui différe complétement d'une classe a l'autre (c'est des formule d'elec de firgo de chauffage donc rien a voir) ma classe A ne me sert ka me créer un lien et a parametrer les index le nombre d'elem ect....
vendredi 18 mars 2005 à 14:31:09 | Re : Tite question sur le polymorphisme

ymca2003

met donc F en tant que fonction virtuelle pur dans ce cas (si c'est les même paramètres pour toutes sinon ça risque d'être plus difficile). C'est l'intérêt de faire des classes dérivées.

vendredi 18 mars 2005 à 14:37:30 | Re : Tite question sur le polymorphisme

tibob51

Membre Club
C justement le problème que j'etait en train de voir.
Ya pa le meme nombre de param.
Alors je cherche encore,mais merçi
vendredi 18 mars 2005 à 14:40:51 | Re : Tite question sur le polymorphisme

tibob51

Membre Club
Je sais qu'on peut envoyé des arguments indéfini a une fonction en definissant ma fonction comme ceci F(...),mais il faut que je vois comment on récupére les arguments,et peu etre que ça sera ma solution.
samedi 19 mars 2005 à 00:49:16 | Re : Tite question sur le polymorphisme

NitRic

Il faut connaître le type des données envoyées

type func(...); << pas bon ca
type func( type arg1, ... ); << ca c'est bon


tu pourais te faire un genre de `pseudo-printf`

#include <cstdarg> // en C >> <stdarg.h>

type func( const char * format, ... )
{

  char * chaine;
  int entier;
  double flottant;
  va_list argv;

  va_start(argv, format);

  while ( '\0' != *format )
  {
    switch ( *format )
    {
      case 's':
         chaine = va_arg(argv, char*);
         // tu jous avec `chaine`
         break;
      case 'i':
          entier = va_arg(argv, int);
          // ...
          break;
        // etc ...
    }
    ++format;
  }

  va_end(argv);
  return value;

}


int main()
{

    int i = 25;
    char chaine[] = "bonjour";

    type retval = func( "si", chaine, i );

    return 0;

}


Ca c'est pour le dernier commentaire, pour le reste je sais pas ...




~(.:: NitRic ::.)~
samedi 19 mars 2005 à 10:27:55 | Re : Tite question sur le polymorphisme

vecchio56

Administrateur CodeS-SourceS
Je pense que ce que tu veux faire n'a aucun sens: si les fonctions F ont des paramètres différents, il sera impossible de savoir à la compilation si ce que tu écris à un sens puisqu'on ne connaîtra pas le type du pointeur A*:

tu pourrais écrire
A* a;
...
a->F(1);
a->F(1, 2);

Il faut revoir tes classes, si les fonctions F n'ont rien a voir ca ne sert à rien de les appeler pareil
dimanche 20 mars 2005 à 10:32:20 | Re : Tite question sur le polymorphisme

tibob51

Membre Club
NitRic>>> Merçi de ton aide.
vecchio56>>> Je t'explique le principe.Ma classe A (qui s'appelle réèlement Parametres) contient les info sur le nombre d'élément,les diffèrentes unitées,leur noms.... pour chacun d'entre eux.
Les autre classes contienent leur unitées et une fonction F (Calcul).
Mon appli etant une appli win32 je me sert de son constructeur pour créer la classe voulu(le choix de la formule etant fait just avant) et paramétrer mon tableau mes comboBox ect...
Une foi que l'utilisateur valide les données je n'ai plus qu'a appeler ma fonction calcul de cette façon:
result=Pcla->Calcul(indexrecherche,valeu1,valeur2.....)//ou Calcul(indexrecherche,Valeur[])
//ça devrait etre plu pratique.

Sinon je devrai recontroler quelle est la classe en cours d'utilisation ce qui donnerai:

switch (Form1->formulechoisie){
case 1:
result=ElecPuissanceAbs->Calcul(indexrecherche,........)
break;
case 2:
result=ElecPuissanceApp->Calcul(indexrecherche,.....)
.
.
.
Ce qui fait beaucoup plus long,voilà j'espère que tu a saisi maintenant le but.
A++;




Cette discussion est classée dans : question, classe, ect, tite, polymorphisme


Répondre à ce message

Sujets en rapport avec ce message

un tableau dans une classe [ par JediMaster ] salut tt le monde j'avais deja poser cet question mais je crois que celui qui ma repondu a pas compris la question donc je veux faire une classe avec la p'tite question pas méchante... [ par cedcrow ] bonjour à tous,je souhaiterais réaliser une appli windows qui n'aurait pas un format de fenetre standard, du style les applications multimédia de lect question de "cours" : constructeurs de classe dérivée et classe de base [ par mhassine ] Bonjour,j'ai une classe personne et une classe etudiant dérivée de personne.J'ai le constructeur Personne(string n)J'ai aussi le constructeur etudiant question de débutant [ par catamenia ] bonjour,J'ai récupérer un fichier .cpp et .h contenant une classe.j'ai ajouter les fichiers au projet.Quand je déclare une instance de la classe, j'ai Pb de polymorphisme [ par obby ] Salut à tous, j'ai un problème, en fait je fais du polymorphisme mais la classe "mère" n'est pas la classe de plus haut niveau et du coup je n'arri Petite question avec CAsyncSocket [ par Nixeus ] Bonjour tout le monde !Quelques petites questions me perturbe depuis 2 jours, et je m'en remet donc à vous !Voila, je programme un petit serveur en MF RegisterClassEx [ par Ziman ] Bonjour,je me pose une tite question. En fait, je vois dans tout les code pour l'API win32 la fonction RegisterClassEx, j'ai vu qu'elle servait à cré Opérateur de copie et pointeur [ par eupeup ] Bonjour à tous!!!! J'ai une petite question, et si quelqu'un pouvait m'aider, ce serait sympa... Donc ca concerne la définition d'un opérateur de cop Question conception [ par wismerhill__ ] Salut, je bosse sur un projet et je suis à la conception des classesJe ne suis pas sur que c'est bien le coin pour en parler donc si vous pensez que j Question pour un debutant [ par wismerhill__ ] Bonjour à tous, j'ai une question mega basique : j'ai une classe date dont l'attribut private mDate est le nombre de jour depuis 1/1/1900Le code suiva


Nos sponsors


Sondage...

Comparez les prix

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

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