Les destructeur en c++
Fermé
rosaRosi
Messages postés
39
Date d'inscription
vendredi 4 décembre 2009
Statut
Membre
Dernière intervention
25 avril 2010
-
25 déc. 2009 à 16:14
rosaRosi Messages postés 39 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 25 avril 2010 - 25 déc. 2009 à 23:37
rosaRosi Messages postés 39 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 25 avril 2010 - 25 déc. 2009 à 23:37
A voir également:
- Les destructeur en c++
- Créer un virus destructeur - Forum Virus / Sécurité
- Destructeur de fichier bitdefender - Forum Logiciels
- Récupérer un fichier supprimé par bitdefender ? - Forum antivirus
- Télécharger virus destructeur - Télécharger - Antivirus & Antimalwares
- Destructeur de fichier ✓ - Forum Logiciels
3 réponses
#include <iostream>
#include <string>
class A
{
public:
A(std::string _nom) {
nom = _nom;
std::cout << "A::A de" << nom << std::endl;
}
~A() { std::cout << "A::~A de" << nom << std::endl; }
private:
std::string nom;
};
int main()
{
A* a1 = new A("a1"); // A::A de a1
A a2("a2"); // A::A de a2
delete a1; // A::~A de a1
{
A a3; // A::A de a3
} // A::~A de a3
} // A::~A de a2
Le destructeur d'un objet instancié dans le tas est appelé par l'instruction delete.
Le destructeur d'un objet instancié dans la pile est appelé à la fin du block.
#include <string>
class A
{
public:
A(std::string _nom) {
nom = _nom;
std::cout << "A::A de" << nom << std::endl;
}
~A() { std::cout << "A::~A de" << nom << std::endl; }
private:
std::string nom;
};
int main()
{
A* a1 = new A("a1"); // A::A de a1
A a2("a2"); // A::A de a2
delete a1; // A::~A de a1
{
A a3; // A::A de a3
} // A::~A de a3
} // A::~A de a2
Le destructeur d'un objet instancié dans le tas est appelé par l'instruction delete.
Le destructeur d'un objet instancié dans la pile est appelé à la fin du block.
rosaRosi
Messages postés
39
Date d'inscription
vendredi 4 décembre 2009
Statut
Membre
Dernière intervention
25 avril 2010
25 déc. 2009 à 19:48
25 déc. 2009 à 19:48
merci beaucoup :) !!
alors ca veut dire que c est à la fin du programme principale les object dans la pile vont etre automatiquement effacé dans l ordre inverse c ca?
alors ca veut dire que c est à la fin du programme principale les object dans la pile vont etre automatiquement effacé dans l ordre inverse c ca?
Pacorabanix
Messages postés
3245
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
658
25 déc. 2009 à 23:28
25 déc. 2009 à 23:28
les objets qui sont déclarés directement dans le programme principal seront en effet détruits à la fin du programme principal. Attention : si tu déclares tes objets dans un bloc { .. }, ils seront détruits à la fin du bloc.
Pour l'ordre, fait- simplement un essai, tu verras bien, ça ne fera pas exploser ton ordi ;)
Pour l'ordre, fait- simplement un essai, tu verras bien, ça ne fera pas exploser ton ordi ;)
rosaRosi
Messages postés
39
Date d'inscription
vendredi 4 décembre 2009
Statut
Membre
Dernière intervention
25 avril 2010
25 déc. 2009 à 23:37
25 déc. 2009 à 23:37
a ok je savais pas pour un bloc je viens de tester je te remercie infiniment :))