Bonjour,


Voici ma classe Ball dans ball.h :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Ball
{
	public:
		Ball(int id, int radius, int x, int y, float velocity_x, float velocity_y);
 
		~Ball();
 
		void move_(int l_left, int l_top, int l_right, int l_bot); // les limites gauche, haut, droite, bas 
		void collision(Ball** balls);
 
                const static int s_num_balls = 10;
                static bool s_collision;
                static int s_num_collisions;
		static int s_min_velocity;
		static int s_max_velocity;
 
        int m_id;
		int m_radius;
		int m_x;
		int m_y;
		double m_velocity_x;
		double m_velocity_y;
		double m_accel_x;
		double m_accel_y;
 
    private:
 
        void free();
};

Je crée dynamiquement des instances de classe ainsi dans main.cpp :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
for(int i=0; i<Ball::s_num_balls; i++){
      balls[i] = new Ball(...);
}
Voici le destructeur vide de ma classe Ball :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Ball::~Ball() //destructeur
{
	//delete this;
}

Et voici la fonction close() dans main.cpp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
void close()
{
    for(int i=0; i<Ball::s_num_balls; i++){
        delete balls[i];
    }
 
    ...
}
Est-ce que je m'y prends bien pour libérer la mémoire occupée par chaque objet Ball lors de sa déstruction ?

Merci