Je viens de commencer à travailler avec C++ et j'ai maintenant une question très basique.
J'ai écrit 2 classes:
Coordinate:
#include
class Coordinate {
private:
int x;
int y;
public:
Coordinate(int a, int b) {
x = a;
y = b;
};
void printTest() {
printf("%d %d\n", x, y);
};
};
Test:
class Test {
private:
int q;
Coordinate *point;
public:
Test(int a, int b, int c) {
q = a;
point = new Coordinate(b, c);
};
virtual ~Test() {
delete point;
}
};
Fonction principale:
int main() {
Test *test = new Test(1, 2, 3);
// ...
delete test;
return 0;
}
Dans mon main
, j'ai travaillé avec un objet de la classe Test
. J'ai écrit mon propre destructeur Test
mais je ne suis pas sûr que ce destructeur fonctionne comme prévu. Est-ce qu'il libère complètement la mémoire de test
? Ou dois-je faire quelque chose avec l'attribut q
pour le libérer?