ORDER IN WHICH OBJECTS ARE DESTROYED

class a{---------
---------};
int main(){
{a q,w,e;
}
}

doubt:in the above program object 'q' is created first then 'w' and later 'e' is created.
when cursor moves out of block in main in which 3 objects are created,destructor is called automatically and destroys objects in the reverse order in which they are created.that is 'e' is destroyed first then 'w' is destroyed and then 'q' is destroyed.
but how can we confirm that objects are destroyed in the reverse order in in which they are created??????
please write a program to confirm the above discussion.
1
2
3
4
5
6
7
8
9
10
11
12
class A {
 A() { };
 ~A() { cout << "A Is being destroyed" << endl; }
};

// etc

int main() {
 A myA = A();
 B myB = B();
 // etc
}


I would note. I prefer to work with Pointers to dynamically allocated objects. This allows me to control (and forget) the deallocation of memory.
Last edited on
Topic archived. No new replies allowed.