IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Polymorphisme Dynamique et Polymorphisme statique


Sujet :

Visual C++

  1. #1
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Par d�faut Polymorphisme Dynamique et Polymorphisme statique
    Bonjour � tous,

    En effet je sais c'est quoi la diff�rence entre l'allocation de m�moire dynamique et statique mais ils m'ont pos� une question que je n'ai pas compris:
    parmi les mots suivants le quelle indique qu'on est dans polymorphisme dynamique et pareil pour polymorphisme statique ?
    VIRTUAL OVERRIDED PATTERN STATIC ABSTRACT OVERLOADED ?

    Mais puisque je ne sais pas c'est quoi la diff�rence entre un polymorphisme dynamique et statique je n'ai pas pu r�pondre !

    Une explication de la diff�rence avec un petit exemple �a sera l'ideal

    Merci d'avance

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Il me semble que c'est la diff�rence entre la simple surcharge de fonction (polymorphisme statique) et l'usage de fonctions membres virtuelles dans une hi�rarchie de classes (polymorphisme dynamique).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Bonjour ABAM3194.

    J'avais jamais entendu parl� ni de polymorphisme dynamique ni de polymorphisme statique.

    Ca doit �tre pour les d�veloppeurs C++ qui font un doctorat Bac+15...

    De ce que j'ai lu vite fait sur internet et de ce que je comprends. Tout ce qui est dynamique sera �valu� � l'ex�cution et tout ce qui est statique sera �valu� � la compilation.

    Le probl�me avec :

    VIRTUAL OVERRIDED PATTERN STATIC ABSTRACT OVERLOADED
    C'est que ce ne sont pas des mots du langage C++ (� cause du upper case). Donc j'aurais r�pondu aucun (ne surtout pas suivre ma conclusion...).

    A M�dinoc :

    Si on part du principe ci-dessus et que l'on instancie "distinctement" une classe qui override les fonctions virtuelles de la classe m�re. On est plus dans du dynamique, parce que cela peut-�tre r�solu � la compilation. Je dis �a, j'ai jamais �cris de compilo C++...

  4. #4
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Par d�faut
    En premier je vous remercie pour vos r�ponses.
    @moldavi: c'est moi qui les a �cris en majuscule donc je confirme que votre conclusion est fausse
    @M�dinoc: donc d'apr�s vous je peux r�pondre par le mot "virtual" dans le cas de polymorphisme dynamique c'est �a?
    Sinon pour le cas statique d'apr�s vous je r�ponds par quoi?

  5. #5
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Par d�faut
    Voici une autre question que j'ai trouv� dans un QCM sur le langage C++:

    Qu'est-ce qui est n�cessaire pour le polymorphisme dynamique ?

    1 Des m�thodes surcharg�es
    2 Des m�thodes constantes
    3 Des m�thodes abstraites
    3 Des m�thodes virtuelles

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    La derni�re.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Bonjour.

    J'ai trouv� ce lien : http://cpp.developpez.com/faq/cpp/?p...ique_dynamique

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     
    class A{};
    class B:public A {};
     
    A* ptr= new B; // le type statique l'objet est A mais son type dynamique est B
    Dans cette situation, on a du polymorphisme dynamique ok.

    Mais l� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     
    class A{};
    class B:public A {};
     
    B* ptr= new B;
    Sachant que B override certaines fonctions virtuelles de A. On a pas forc�ment du polymorphisme dynamique, car le compilo peut r�soudre les appels de fonction virtuelle � la compilation. Le compilo conna�t B et les m�thodes virtuelles de A qu'il imp�mente.

    Donc je serai tenter de dire que dans ce cas pr�cis, virtual n'est pas un gage de polymorphisme dynamique.

    Pour moi la r�ponse est toujours aucun . Mais �a se discute...

  8. #8
    Membre �m�rite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par d�faut
    Citation Envoy� par moldavi Voir le message
    C'est que ce ne sont pas des mots du langage C++ (� cause du upper case).
    Pire, en lower case, certains ne sont m�me pas des mots cl�s du C++.

    Si j'avais d� r�pondre brut de fonderie, j'aurais dit que le polymorphisme statique �tait le pi�ge de la question et donc qu'il n'y avait aucun mot cl� s'y rapportant. Le polymorphisme s'effectue toujours de mani�re dynamique car le type r�el de l'objet n'est pas connu � la compilation...

    ... sauf dans le cas particulier des templates et en particulier de l'idiome CRTP.

    Mais bon toujours pour r�pondre � la question, aucun mot cl� ne s'y rapporte et �a semble un peu os� pour un simple questionnaire sur le C++.

  9. #9
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Re.

    Citation Envoy� par aoyou Voir le message
    Pire, en lower case, certains ne sont m�me pas des mots cl�s du C++.
    C'est vrai. C'est pour cela que j'ai parl� de bac+15. Ce sont des tests, si tu r�ponds PATTERN, t'es grill�, je pense.

    Citation Envoy� par aoyou Voir le message
    Le polymorphisme s'effectue toujours de mani�re dynamique car le type r�el de l'objet n'est pas connu � la compilation...
    Conf�re mon message ci-dessus. La discussion est ouverte. Mais je pense qu'un d�veloppeur de compilateur C++ sera plus � m�me de r�pondre.

    Citation Envoy� par aoyou Voir le message
    Mais bon toujours pour r�pondre � la question, aucun mot cl� ne s'y rapporte et �a semble un peu os� pour un simple questionnaire sur le C++.
    C'est ce que je pense aussi. Bac+15... L� visilement on cherche l'�lite, ou des chercheurs, ou juste on s�lectionne (genre question subsidiaire)...

  10. #10
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Par d�faut
    Merci � tous, c'est plus claire maintenant m�me si j'ai que Bac+0.5 (en c++)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me de polymorphisme dynamique
    Par Jimmy91 dans le forum C++
    R�ponses: 20
    Dernier message: 18/08/2014, 11h40
  2. bibliotheque dynamique ou polymorphisme
    Par delroot dans le forum C++
    R�ponses: 4
    Dernier message: 19/01/2009, 18h02
  3. tableau dynamique de tableaux statiques.
    Par RaphAstronome dans le forum C++
    R�ponses: 2
    Dernier message: 18/02/2007, 14h43
  4. [VB.NET] ConnectionString dynamique et DataSource "statique"
    Par apoingsfermes dans le forum Windows Forms
    R�ponses: 1
    Dernier message: 22/08/2006, 14h58
  5. Recompiler une librairie dynamique (DLL) en statique
    Par shenron666 dans le forum C++
    R�ponses: 9
    Dernier message: 07/04/2005, 19h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo