begin process at 2012 05 29 13:54:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Polumorphisme pointeur


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

Polumorphisme pointeur

vendredi 11 décembre 2009 à 20:04:26 | Polumorphisme pointeur

yvesyves

Membre Club

Bonjour,

Admettons :

Code C/C++ :
class A
{
  private :
    ....
  protected :
    void Insertapres(A * nouveau, A * source = this){.....}
};

classe B : protected A
{
  private :
     ....
  public :
    ....
    void TrucAFaire() {Insertapres(new B(..,..)}
};




Que vaut this dans TrucAFaire, vaut t'il la classe B ou la classe A?

Merci

Zives
vendredi 11 décembre 2009 à 21:05:18 | Re : Polumorphisme pointeur

CptPingu

Administrateur CodeS-SourceS
La question ne se pose pas, ce n'est pas possible:

error: `this' may not be used in this context



"this" représente un pointeur sur ton instance de classe. Donc il est toujours du type duquel tu l'as instancié.
Par exemple: A* c = new B; Ici "c" (et donc le "this" dans c) est de type B, même s'il est "upcasté" en type A (c'est-à-dire masquer sous le type A).
samedi 12 décembre 2009 à 07:54:22 | Re : Polumorphisme pointeur

yvesyves

Membre Club

D'accord merci. Je me suis débrouillé autrement en créant une sorte de virtual this.
J'ai mis A * m_me end donnée membre de A. Le constructeur de A prend un pointeur de A en paramètre.
Je n'ai plus qu'a, dans le constructeur de B rajouter B(): A(this); Et voila le tour est joué.

Zives
vendredi 12 février 2010 à 14:12:20 | Re : Polumorphisme pointeur

dragonjoker59

T'as overloadé this ? C'est moche...


Cette discussion est classée dans : code, private, classe, pointeur, polumorphisme


Répondre à ce message

Sujets en rapport avec ce message

pourkoi pointeur vers classe ? [ par Arkko ] Quelquun peut m'expliquer pourquoi ce code cree un pointeur NULL vers un classe et apres quil declare un variable de type cMyD3dApplication et met une Pointeur vers des fonctions membres d'une classe [ par thoflo1 ] Bonjour, J'utilise une méthode d'une classe issue d'une librairie c++, qui prend un pointeur vers une fonction en argument : [code=cpp] typedef void ( Problème instanciation de classe [ par brian85 ] Bonjour, je suis débutant, j'ai suivi quelques tutos du site du zéro qui sont très bien faits et pour aller plus loin, je me frotte aux classes, et là 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 déréférencer de pointeur [ par sdrh ] Bonjour à tous et merci d'avance pour vos réponses. Je suis actuellement entrain de transposer un code Matlab en c++. Pour cela j'utilise une petite Appel non conforme d'une fonction membre non static [ par nourhene4 ] Bonjour/Bonsoir J'ai appeler dans une classe une fonction membre d'une autre classe , mais une erreur survient ''appel non conforme d'une fonction mem Cast void* - objet C++ [ par zaraki21 ] Bonjour, Je travaille actuellement sur un projet en C/C++ dans lequel je souhaite "caster" un membre d'une classe de type void* en un pointeur sur un


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

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