1. Коли потрібно об'єднати кілька змінних в одне ціле 2. Набір різних полів і методів під однією назвою (те саме що class) 3. Зазвичай мають багато змінних і мало функцій 4. Якщо і є функції, то бажано для роботи лише зі змінними цієї структури 5. Поля структури типово публічні (найбільша відмінність від class!) 6. В майбутньому розширюватимуть class, а struct - ні 7. Бажано не використовувати успадкування 8. При успадкуванні public не пишеться 9. Сумісні з С struct Worker { short id; int age; double salary; }; Worker w1; w1.id = 1; w1.age = 21; w1.salary = 1000;
Створити об'єкти одразу struct Worker { short id; int age; double salary; } w1, w2, *s;
Структура в структурі struct Time { int h; int m; int s; }; struct Worker { string name; Time time; int year; }; Worker w1; w1.time.h = 12;
Структура як параметр F1(w1) void F1(Worker& w) - по посиланню void F1(Worker* w) - по посиланню void F1(Worker w) - копія
struct Worker { int id; struct { int year, month, day; } dob; }; Worker w; w.dob.year = 2075;
struct Worker { int age; int year; } w1 = {25, 2075};
Видалити з масиву структур
Збільшити масив структур на 1
Збереження та читання структури fwrite/fread