Hi Ireneusz,

Basically your class is a resource handle. If the constructor cannot complete, the accepted approach is to throw an exception.

If a member function finishes the job and frees the resources, have that member function modify the object's member variables so the destructor can recognise that the resources have been freed and it doesn't need to do anything about those resources.

This approach is called RAII and see this page:-
https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization

BW,


Ian

--
-- ACCU - Professionalism in programming - http://www.accu.org
-- My writing - https://sites.google.com/site/ianbruntlett/