A class destructor can be called when a variety of situations occur. Which choice is not one of those situations?
An automatic storage duration object goes out of scope.
The program is terminated. This calls the destructor of static duration objects.
The delete () function is called for an object pointer assigned with the new operator.
The garbage collector detects that an object is no longer going to be used.