VectorDestOrder.cc
#include <iostream> #include <vector> using namespace std; class X { int p; public: X( int q ) { p = q; } void changeState( int pp ) { p = pp; } //(A) ~X(){ cout << "Destructor invoked for X object with p = " << p << endl; } }; int main() { vector<X> vec; X x1( 1 ); X x2( 2 ); X x3( 3 ); vec.push_back( x1 ); vec.push_back( x2 ); vec.push_back( x3 ); x1.changeState(100); x2.changeState(200); x3.changeState(300); return 0; }
C:\classes\ece538\work\kak05>VectorDestOrder Destructor invoked for X object with p = 1 Destructor invoked for X object with p = 1 Destructor invoked for X object with p = 2 Destructor invoked for X object with p = 1 Destructor invoked for X object with p = 2 Destructor invoked for X object with p = 3 Destructor invoked for X object with p = 300 Destructor invoked for X object with p = 200 Destructor invoked for X object with p = 100 Destructor invoked for X object with p = 1 Destructor invoked for X object with p = 2 Destructor invoked for X object with p = 3
Maintained by John Loomis, updated Sat Jan 06 21:50:37 2007