×
Namespaces

Variants
Actions

C-классы

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Статья
Перевод:
Оригинал: C class
Den123
Последнее редактирование: hamishwillee (14 Sep 2012)

C-классы наследуется от класса CBase.

Класс CBase имеет следующие характеристики:

  • При создании объекта в куче, благодаря перегруженному оператору new() его члены инициализируются нулями.
  • CBase содержит виртуальный деструктор
  • CBase содержит закрытые (private) конструктор копии и оператор присваивания

Поэтому возникают следующие особенности C-классов:

  • Объекты этих классов всегда должны создаваться в куче (для гарантированного обнуление данных)
  • Наследуют виртуальный деструктор, который правильно уничтожает данные
  • Если необходимо копирование, нужно реализовать явный конструктор копии или оператор присваивания


C-классы обычно владеют другими C-классами или ресурсами, которые нуждаются в очистке. Так как эти ресурсы могут создаваться достаточно непросто (например, при создании/инициализации этих ресурсов может произойти сброс), то для создания C-классов обычно используется механизм двухфазного конструирования.

This page was last modified on 14 September 2012, at 03:49.
44 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×