Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1734 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++]Est il possible de créer des "fonctions virtuelles globales"?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++]Est il possible de créer des "fonctions virtuelles globales"?

n°1563211
Yoyo@
Posté le 21-05-2007 à 22:01:10  profilanswer
 

Salut,
 
Imaginons deux classes:
 

Code :
  1. class Car{...};


 
et
 
c

Code :
  1. lass SportCar : public Car {...};


 
 
Imaginons deux foncitons déclarées ainsi (surcharge)
 

Code :
  1. void myfunc(Car* pCar){
  2.   OutputDebugString(TEXT("myfunc2(Car* pCar) is called" ));
  3. }
  4. void myfunc(SportCar* pSportCar){
  5.   OutputDebugString(TEXT("myfunc2(SportCar* pSportCar) is called" ));
  6. }


 
Je voudrais en fait que la "bonne" fonction myfunc soit appelée selon le type réel du pointeur envoyé.
 
Par exemple, je voudrais que:
 
SportCar mySportCar;
Car* pCar = &mySportCar;
myfunc(pCar);
 
appelle void myfunc(SportCar* pSportCar) et non void myfunc(Car* pCar).
 
Est ce possible? Ou suis-je obligé de faire une sorte de RTTI à la volée pour déterminter quel type de fonction appeler?

mood
Publicité
Posté le 21-05-2007 à 22:01:10  profilanswer
 

n°1563215
bjone
Insert booze to continue
Posté le 21-05-2007 à 22:11:30  profilanswer
 

faut utilser une fonction membre virtuelle.


Message édité par bjone le 21-05-2007 à 22:22:31
n°1563226
Yoyo@
Posté le 21-05-2007 à 22:52:33  profilanswer
 

D'accord!
 
Donc, ce que je demande est impossible? Non prévu dans la norme?
 
Ce n'est pas un besoin fort que j'ai (car on peut toujours se débrouiller effectivement en utilisant une foncton même virtuelle) mais je me suis posé la question.
 
 
 

n°1563235
Taz
bisounours-codeur
Posté le 22-05-2007 à 00:06:13  profilanswer
 

Si ça existe, c'est exactement la sémantique d'une fonction membre virtuelle. Adapte-toi à la syntaxe. À ne pas confondre avec les multiméthodes  http://www.open-std.org/jtc1/sc22/ [...] n1463.html


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++]Est il possible de créer des "fonctions virtuelles globales"?

 

Sujets relatifs
Créer un prog qui créer un .txt avec info complet des PCComment créer une calculatrice en java ? Probleme d'affichage
[AIDE] Qqun peut il me creer un site sur-mesure?Labview: problème pour créer un tableau
Créer un nouveau projet JEE, quelles technos choisir ?Créer un watchfolder
[Batch] Comment creer une clé de registreCréer e modifier un fichier excel en C#
Script pour créer un raidtrouvez une combinaison "possible"
Plus de sujets relatifs à : [C++]Est il possible de créer des "fonctions virtuelles globales"?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR