C++ Структури

2075 / C++ / Структури

 

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