Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpObVc 26 of 150 menu
◀ ▶

Вектор объектов в C++

Вектор объектов удобен, когда набор экземпляров нужно наращивать по ходу работы программы.

Тип задают как std::vector<User>. Пустой вектор объявляют без начального списка. Запишем класс User:

#include <iostream> #include <string> #include <vector> class User { public: std::string name; int age; User(std::string name, int age) : name(name), age(age) {} };

Создадим пустой вектор объектов User и выведем его длину:

int main() { std::vector<User> people; std::cout << people.size() << "\n"; return 0; }

Новый объект в конец добавляют методом push_back. Запишем класс User с именем и возрастом:

#include <iostream> #include <string> #include <vector> class User { public: std::string name; int age; User(std::string name, int age) : name(name), age(age) {} };

Создадим вектор, добавим двух пользователей и выведем размер:

int main() { std::vector<User> people; people.push_back(User("john", 21)); people.push_back(User("eric", 22)); std::cout << people.size() << "\n"; return 0; }

Стартовый набор можно задать списком в фигурных скобках. Запишем класс User с именем и возрастом:

#include <iostream> #include <string> #include <vector> class User { public: std::string name; int age; User(std::string name, int age) : name(name), age(age) {} };

Создадим вектор из трех объектов и выведем имя каждого в цикле:

int main() { std::vector<User> people = { User("john", 21), User("eric", 22), User("kyle", 23) } ; for (const User& user : people) { std::cout << user.name << "\n"; } return 0; }

Сделайте класс Employee с именем и зарплатой в конструкторе. Создайте пустой std::vector<Employee>, добавьте два объекта через push_back и выведите размер вектора.

Дан вектор объектов User:

std::vector<User> people = { User("john", 21), User("eric", 22), User("kyle", 23) };

Выведите имена пользователей, у которых возраст больше 21.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить