Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 21:37, 17 October 2007.

C-классы

From Forum Nokia Wiki

Перевод с английского, оригинальная статья находится здесь.


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

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

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

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

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


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

 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX