C++ для начинающих: структуры данных

Изучение структур данных в C++ позволяет описывать объекты с несколькими характеристиками в одном месте, избегая путаницы при работе с большим количеством объектов.

Создание структуры

Для создания структуры используется ключевое слово struct, за которым следует имя структуры. Например, для описания дерева:

struct Tree {
  // характеристики дерева
};

Завершается определение структуры точкой с запятой. Внутри фигурных скобок перечисляются характеристики объекта:

struct Tree {
  std::string name;      // имя дерева
  int age;               // возраст дерева
  bool isAlive;          // признак жизни дерева
  float height;          // высота дерева
};

Теперь Tree описывает абстрактное дерево. На основе этой структуры можно создавать конкретные объекты.

Создание и использование объектов

Для создания объекта структуры указывается имя структуры как тип данных:

Tree dub; // создание объекта "дуб"

Теперь dub – объект типа Tree. Доступ к его свойствам осуществляется с помощью точки:

dub.name = "Дуб";
dub.age = 24;

Можно создавать множество объектов:

Tree elka; // создание объекта "ель"
elka.name = "Ель";
elka.age = 10;

Вывод данных:

std::cout << dub.name << std::endl; // выведет "Дуб"
std::cout << elka.name << std::endl; // выведет "Ель"

Добавление функций в структуру

В структуру можно добавлять функции, доступные всем объектам этой структуры. Например, функция вывода информации о дереве:

struct Tree {
  // ... (предыдущие характеристики) ...
  void GetInfo() {
    std::cout << "Имя: " << name << std::endl;
    std::cout << "Возраст: " << age << std::endl;
    // ... другие поля ...
  }
};

Вызов функции:

dub.GetInfo();  // Выведет информацию о дубе
elka.GetInfo(); // Выведет информацию о ели

Вложенные структуры

В структуру можно включать другие структуры. Например, структура Point для координат:

struct Point {
  float x;
  float y;
};

Добавление поля Place типа Point в структуру Tree:

struct Tree {
  // ... (предыдущие характеристики) ...
  Point Place;
};

Установка координат:

dub.Place.x = 10;
dub.Place.y = 20;
elka.Place.x = 50;
elka.Place.y = 10;

Структуры данных позволяют организованно описывать объекты и их характеристики. Возможность добавления функций и вложенных структур делает их мощным инструментом для создания сложных программ. Они позволяют описывать абстрактный объект и создавать его конкретные экземпляры с индивидуальными свойствами.

Что будем искать? Например,программа