Constructor and Destructor Calling in C++

In a C++ programming language constructor are called from base class to derived class and destructor are called reverse of constructor means from derived class to base class.                                                                                                                      

Example:   Write a program to show the sequence of execution of constructor and destructor.

#include 

using namespace std;
class A1 {
    public: A1() //   constructor  	
    {
        cout << "Constructor A1" << endl;
    }

    ~A1() //   Destructor  
    {
        cout << "Destructor A1"<< endl;
    }
};

class A2: public A1 { // derived class A2   

    public: A2() //   constructor  	
    {
        cout << "Constructor A2"<< endl;
    }~A2() //   Destructor 
    {
        cout << "Destructor A2"<< endl;
    }
};
class A3: public A2 { // derived class A3  
    public: A3() //   constructor  				
    {
        cout << "Constructor A3" << endl;
    }~A3() //   Destructor  
    {
        cout << "Destructor A3"<< endl;
    }
};
int main() {
    A3 ob;
}

Output

 
Constructor A1
Constructor A2
Constructor A3
Destructor A3
Destructor A2
Destructor A1

 
Categories C++