
- •Типы, определяемые пользователем
- •1. Объявление структуры:
- •2. Использование структуры в программе и доступ к ее членам
- •3. Одновременное объявление структуры и переменных типа структуры
- •5. Общий формат объявления структуры:
- •6. Массивы структур
- •7. Присваивание структур
- •9. Использование в качестве членов структур массивов
- •10. Использование вложенных структур
- •13. Битовые поля структур (bit-fields)
- •14. Объединения
- •Распределение памяти
- •Объявление класса в общем виде
- •Доступ к данным объекта в динамической области
14. Объединения
|
union myunion { // объявление объединения не задает переменной и
short int i; // не выделяет памяти
char ch;
}u_var; // имя переменной (память выделяется)
Распределение памяти
-
Переменная
Число байт
i
2
ch
1
сh
i
Обращение к элементу объединения:
u_var.ch=’N’;
Для объединений разрешена операция ->, если обращение к объединению производится с помощью указателя.
Перечислимый тип
Перечислимый тип (enumeration) – это множество поименованных целых констант Используется для улучшения читаемости программы |
enum имя_типа { список_перечисления} переменная1,…,переменнаяN; }
enum seasons {win,spr,sum,aut};
seasons s;
Оператор printf(“%d%d\n”,win,aut); выводит на экран числа 0 и 3.
Изменение порядковых номеров
enum value {one=1,two,three,ten=10,thousand=1000,next};
printf("%d %d %d %d %d\n",one,two,ten,thousand,next);
На экран будет выведено: 1 2 10 1000 1001
Операции с переменными перечислимого типа |
|
|
|
Переименование типов. Ключевое слово typedef
Ключевое слово typedef позволяет создать новое имя для существующего типа данных Новое имя определяется в качестве дополнения к существующему типу |
typedef тип новое_имя;
Пример
typedef float balance;
balance x; // определение переменной x типа balance (float).
Класс
Принципы построения классов
Инкапсуляция |
Объединение в едином объекте данных и функций, обрабатывающих эти данные |
Наследование |
Наследование предполагает, что в классы могут составлять иерархию, и все характеристики класса-родителя присваиваются классу-потомку. После этого потомку добавляют новые характеристики. Иногда некоторые функции(методы) в классе-потомке переопределяются. |
Полиморфизм (многоформие) |
Родственные объекты (происходящие от одного родителя) могут вести себя по-разному в зависимости от ситуации, возникающнй во время выполнения программы. |
|