Microsoft visual C++ и MFC© Александр Фролов, Григорий ФроловТом 24, М.: Диалог-МИФИ, 1993. СтруктурыПонятие структуры XE "структуры" в языке Си++ значительно расширено. Структура в Си++ обладает всеми возможностями классов. В структуры Си++ можно включать не только элементы данных, но и методы. Вы можете наследовать от структур новые структуры, точно также как вы наследуете новые классы XE "классы" от базовых классов. Различие между структурами и обычными классами заключается только в управлении доступом к их элементам. Так, если элементы класса по умолчанию объявлены как private XE "private" , то все элементы структуры по умолчанию объявлены как public XE "public" . Ниже мы привели пример объявления структуры StructData и класса ClassData, которые содержат одинаковые элементы с одинаковыми правами доступа к ним. Фактически, структура StructData и класс ClassData совершенно равнозначны. //==================================================== // Класс ClassData class ClassData { int iPrivateValue; public: int iPublicValue; }; //==================================================== // Структура StructData struct StructData { int iPublicValue; private: int iPrivateValue; }; Еще одно различие между структурами и классами проявляется в разграничении доступа к элементам базового класса (см. раздел “Разграничение доступа к элементам базового класса”). Если вы наследуете новый класс от базового класса и не указываете спецификатор доступа, по умолчанию используется спецификатор private. Когда же вы наследуете от базового класса структуру, по умолчанию используется спецификатор public. |