Слайд 2
Структура — это общее название «сложных» элементов в программировании. Например: массив – это структура, состоящая из переменных. То есть, то, что сложнее простой переменной – уже структура. Кстати, string (строка), это структура, состоящая из char (символов). Программист может самостоятельно создать свои структуры, но ему тогда придётся описать какие данные может хранить эта структура и какие задачи она выполняет. Для этого, внутри структуры, создаются переменные и функции. Структуру можно сравнить с чертежом для производства. Например: мы создаём чертёж пластикового контейнера, а на заводе по этому чертежу можно будет сделать тысячи таких контейнеров разного цвета и формы.
Слайд 3
Структура в консольных приложениях создаётся до основной функции (в Processing, наоборот – после основных функций), то есть, до команды int main() Например: struct person { string name; int age; }; Эти строчки создадут «чертёж», образец, по которому можно будет создавать специальные хранилища данных ( лучше так же до int main () ), например: person worker_1{"Jim", 25}; person worker_2{"Bob", 32}; То есть, по сути – ваша структура, это большая переменная, в которую можно поместить много разных данных.
Слайд 4
person – название структуры, оно может быть любым! После создания структуры – можно с помощью этого названия (в данном случае person ) создать любое количество объектов (в данном случае worker_1 и worker_2, названия могут быть любыми). В эти объекты можно помещать различную информацию. В данном случае, наша структура содержит 1 строку ( string name ) и 1 целое число ( int age ). Поэтому при создании worker_1 и worker_2 мы указываем в фигурных скобках значения переменных name и age, например: {“Jim”, 25} … получается, Jim – сохранится в переменную name, а 25 в переменную age. Данные в фигурных скобках указываются в том же порядке, в котором они создавались в структуре, первая переменная создавалась string name, поэтому в {} мы сначала указываем name. Напишите не в том порядке – будет ошибка.
Слайд 5
Чтобы поменять название или вывести на экран значение этих переменных нужно сначала обратиться к названию объекта, а после точки указать нужную нам переменную: cout <<worker_1.name; Эта команда выведет на экран переменную name у объекта worker_1. Важно понимать, что у каждого объекта будет своя переменная name и своя переменная age, даже если мы создадим очень много «рабочих» ( worker_110, worker_111 и т.д.). Так же можно и поменять значение переменной, обращаемся к объекту, а после точки указываем переменную: worker_1.age = 26; Джим постарел на год, надо изменить его резюме.
Слайд 6
Можно выводить данные красивее, в виде резюме: Выводим сначала слово Name, а потом уже имя конкретного рабочего и т.д. Объекты по структуре можно создать и пустые, то есть, не писать вообще фигурные скобки: И после, в программе, сохранить туда какие-то данные:
Слайд 7
Так же, в любой момент можно дополнить структуру, то есть вернуться к команде struct и дописать побольше переменных: Но в этом случае – придётся изменить все строчки, в которых мы создавали объекты с фигурными скобками, теперь: будет ошибкой, так как в структуре нужно сначала указать firstName, а затем secondName, а в {} на втором месте какое-то число. И в таких случаях, когда вы не уверены, много ли будет переменных в структуре – лучше создавать все объекты без {}.
Слайд 8
Так же, внутри структуры, после всех переменных, можно создать функции: В данном примере создаётся обычная функция для вывода переменных на экран.
Слайд 9
Обратите внимание : Если функция создаётся внутри структуры, то переменные пишутся уже без названий объектов, не так, как мы писали в начале лекции. То есть не надо писать cout <<worker_1.firstName. Как уже говорилось ранее, у каждого объекта будут свои, личные переменные, а значит, когда мы обратимся к worker_1 он выведет свои данные, а worker_2 выведет свои. Чтобы активировать эти функции, в программе для начала должны быть созданы объекты (лучше до int main() ) : Создаём объект и вписываем в него все данные. После, уже внутри int main() мы можем написать: И на экране появятся данные объекта worker_1.
Слайд 10
Количество функций может быть любым, так же и функции могут быть не только void но и любого другого формата, например ( внутри команды struct) : С помощью этой функции мы можем поменять возраст и вес работника, командой: И если мы напишем: Сначала выведутся старые данные, потом функцией changes() они поменяются, после выведутся обновлённые данные.
Последний слайд презентации: Структуры
Количество структур в одной программе может быть любым, можно просто по очереди создавать любое их количество. Но всегда стоит помнить, что лучше не перегружать программу большим разнообразием данных, а стараться делать так, чтобы одна структура подходила под все случаи жизни. Чтобы лучше понять структуры, стоит почаще ими пользоваться, даже если можно справиться и без них. Такая сложная тема лучше осваивается на практике, поэтому очень рекомендуется тщательно выполнять задания в лабораторных работах, связанные со структурами. Структура, это упрощённый класс. А классы – это высшая ступень программирования. Есть даже отдельный раздел «Объектно- Ориентированное Программирование», когда все задачи, даже самые простые, решаются с помощью объектов, которые мы рассмотрели в этой лекции.