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

  FORUM HardWare.fr
  Programmation

  [résolu][poo/c++] héritage, constructeur et destructeurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu][poo/c++] héritage, constructeur et destructeurs

n°204271
farib
Posté le 28-08-2002 à 21:33:23  profilanswer
 

je fais une classe opengl d'utilitaires  que je dérive pour ma classe de jeu, l'idée  étant plusd'utiliser les popriétées exitantes de la classe meres que de dériver....  
 
j'ai donc

Code :
  1. class opengl
  2. {
  3. public:
  4. opengl(HDC MonDC)
  5. {GetDC (trucmuche) // fonctions classiques d'initialisation d'opengl
  6. }
  7. ~opengl()
  8. {ReleaseDC(trucmuche) ;//fonctions classiques de fermetrure opengl
  9. }
  10. void AfficherCube( int X , int Y,TPiece Piece) //primitive utilse pour mon jeu
  11. };
  12. class cTetris: public opengl {
  13. public:
  14. cTetris() //fonctions d'initialisation ;-)
  15. ~cTetris();
  16. };


 
comment faire, si possible, pour qu'a la création de mon objet Tetris = new cTetris(Handle);
 
d'abord le constructeur de la classe mere soit appelé,avec le parametre, pusi el constructeur de la classe fille, sans parametres
 
et a la destruction d'abord le destructeur de la fille puis celui de la mere ?
 
(si possible)


Message édité par farib le 31-08-2002 à 12:54:26
mood
Publicité
Posté le 28-08-2002 à 21:33:23  profilanswer
 

n°204288
juju-le-ba​rbare
Posté le 28-08-2002 à 22:25:12  profilanswer
 

c'est tout simple tu utilise les listes d'initialisation !
 
@++


---------------
Du temps à perdre ? -> http://www.juju-le-barbare.fr.fm
n°204291
gm_superst​ar
Appelez-moi Super
Posté le 28-08-2002 à 22:42:21  profilanswer
 

Ben de toute façon, l'appel des constructeurs se fait normalement dans l'ordre de la hiérarchie de tes classes :
 
cTetris::cTetris(HDC Handle)
 : opengl(Handle)
{
...
}
 
Pour le destructeur, c'est pareil, les appels aux destructeurs se font dans l'ordre inverse de la hiérarchie de tes classes. Donc d'abord la classe fille, puis la classe mère.

n°204292
farib
Posté le 28-08-2002 à 22:52:14  profilanswer
 

pour le parametre, si je fais new cTetris(Handle), ca marchera nickel ?

n°206178
farib
Posté le 31-08-2002 à 12:32:20  profilanswer
 

ca y est, je usis confronté au prob
 
constructeur de cOpenGl :
 
cOpenGl(void * Handle);
 
le constructeur de cTetris, classe dérivée de cOpenGl, n'a lui pas besoin de parametres
 
masi comment appeler les bons constructeurs, c'est à dire les deux constructeurs ?
d'abord
 
cOpenGl(Handle);
puis  
cTetris();
 avec éventuellement des paramtres si vous me dites qu'il en faut pour que le compilateur s'y retrouve
 
acutellement, bcp n'arrive pas, il dit impossible de trouver un constructeur par défaut
 
 
 
soluce :
cTetris::cTetris(void * Handle) : cOpengl(Handle)


Message édité par farib le 31-08-2002 à 12:55:12

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

  [résolu][poo/c++] héritage, constructeur et destructeurs

 

Sujets relatifs
héritage c++[Java] Remplacer un string par un string (Résolu)
[resolu][builder] evenement onmousexxx && fenetre opengl[PHP] besoin d'aide pour faire tout en un seul fichier... [RESOLU]
[java] peut on passer un tableau en argument d'un constructeur ?[JS] trouve pas de titre, problmes de syntax?[resolu]
JscrollPane contenant un JTextArea et défilement automatique [Resolu][C/C++] Supprimer un répertoire (ou le vider) [Resolu]
[Emacs] comment spécifier le chemin par défaut du C-X C-F ? (resolu)[C++/MFC] Empêcher la souris de sortir d'un CRect [RESOLU]
Plus de sujets relatifs à : [résolu][poo/c++] héritage, constructeur et destructeurs


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