Constructeur destructeur ?

Davy8x Messages postés 13 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 27 juin 2006 - 9 févr. 2004 à 22:32
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 10 févr. 2004 à 23:12
J'ai débuté un casse brique 3D en C++ OpenGL. J'ai j'uste programmé une balle qui se déplace en 3D, une sorte de bate (un paver) avec l'accélération et le glissement, et les paroits.
Mon problème:
Je voudrait savoir comment appeler des constructeurs ou destructeurs pour construir ou detruir des objets (balle, brique, ...) que l'on appele avec un numero (un truc écivalant à "détrure la brique n°06" mais en C++)

cette classe est -elle corect:

class balle
{

float *positionX;
float *positionY;
float *positionZ;
float *angleA;
float *angleB;

public:
balle(void);
~balle(void);
}
balle;
balle balle[0];

balle::balle(void)
{
positionX = new float;
positionY = new float;
positionZ = new float;
angleA = new float;
angleB = new float;

angleA[nbre] = (float)(rand());
angleB[nbre] = (float)(rand());
positionX[nbre] = 0.0f;
positionY[nbre] = 0.0f;
positionZ[nbre] = 0.5f;

nbre = nbre +1;
}

balle::~balle(void)
{
delete positionX;
delete positionY;
delete positionZ;
delete angleA;
delete angleB;

nbre = nbre -1;
}

Merci d'avance !

3 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
9 févr. 2004 à 23:10
les contructeurs sont appelés lors de la construction (new), et les destructeurs lors de la destruction (delete), si tu utilises des pointeurs (par exemple balle* b = new balle;delete b;)
sinon tu peux faire tu fais balle b = balle() et le destructeur sera appelé quand tu sort de la portée
Par contre je ne complends pas pourquoi tu utilises des float* et pas des float dans ta classe
j'espère que j'ai pu t'aider, car j'ai l'impression de ne pas avoir été très clair
0
Davy8x Messages postés 13 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 27 juin 2006
10 févr. 2004 à 15:18
En faite je cherche a faire une classe "Brique" (avec 3 foat PositionX posionY et PosisionZ) où l'on pourrait construir ou détruir n'importe où dans le programme une "brique" définie par un numéro.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 févr. 2004 à 23:12
dans ce cas la déclare les comme ca:
Brique* b = new Brique(...);

comme ca tu peux le détruire quand tu veux avec delete
0
Rejoignez-nous