Здравствуйте, SaZ, Вы писали:
SaZ>Здравствуйте, AlexGin, Вы писали:
AG>>У класса может быть только один деструктор!
SaZ>Ага, конечно. Смотрите, у класса A сразу три деструктора!
SaZ>SaZ>class A : public B, public C {};
SaZ>
У класса A — один деструктор!
При разрушении объекта класса A — вызываются деструкторы базовых классов (если они определены) — точнее: сначала свой деструктор (класса A), затем деструкторы базовых классов. Это поведение — стандартно для C++.
При создании объекта — всё происходит противоположно:
Первоначально отработают конструкторы базовыйх классов, а затем уже конструктор нашего (наследника).
AG>>Деструктор — не принимает никаких аргументов.
AG>>В деструкторе следует очистить все ресурсы, используемые в объекте данного класса и требующие очистки.
SaZ>Главное — не выкинуть при этом исключений
+100500
Также, как и в любых деструкторах...
SaZ>И вообще, это зависит от реализуемой логики.
+100500
...естесственно...