Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

C-классы

From 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 00:49.
234 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.

×