ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 4) онлайн

Определение структуры

Определение структуры задает ее внутреннюю организацию, описывая поля, входящие в состав структуры:

struct part {

int modelnumber; int partnumber; float cost;

};

Синтаксис определения структуры

Определение структуры начинается с ключевого слова struct Затем следует имя структуры, в данном случае этим именем является part. Объявления полей струк- туры modelnumber, partnumber и cost заключены в фигурные скобки. После за- крывающей фигурной скобки следует точка с запятой (;) — символ, означающий конец определения структуры. Обратите внимание на то, что использование точки с запятой после блока операторов при определении структуры отличает синтаксис структуры от синтаксиса других рассмотренных нами элементов про- граммы. Как мы видели, в циклах, ветвлениях и функциях блоки операторов тоже ограничивались фигурными скобками, однако точка с запятой после таких блоков не ставилась. Синтаксис структуры представлен на рис. 4.1.

Смысл определения структуры

Определение структуры part необходимо для того, чтобы создавать на его основе переменные типа part. Само определение не создает никаких переменных; други- ми словами, не происходит ни выделения физической памяти, ни объявления переменной. В то же время определение обычной переменной предполагает вы- деление памяти под эту переменную. Таким образом, определение структуры фактически задает внутреннюю организацию структурных переменных после то- го, как они будут определены. Рисунок 4.2 иллюстрирует вышесказанное.

Не удивляйтесь, если связь между структурой и структурными переменны- ми покажется вам сходной со связью между классами и объектами, о которой шла речь в главе 1 «Общие сведения». Как мы позже увидим, объект действи- тельно имеет такое же отношение к своему классу, как структурная переменная к своей структуре.

 

5