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

Массив объектов в C++

Массив объектов - это C-массив, в каждой ячейке которого лежит свой объект класса.

Длину задают числом в квадратных скобках после типа. В фигурных скобках перечисляют сами объекты: User("john", 21) и дальше через запятую. Запишем класс User:

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

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

int main() { User users[3] = { User("john", 21), User("eric", 22), User("kyle", 23) } ; std::cout << users[1].name << "\n"; return 0; }

Индекс от нуля выбирает объект, точка открывает доступ к полям. Запишем класс User:

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

Создадим массив и выведем имя первого и возраст второго:

int main() { User users[2] = {User("john", 21), User("eric", 22)} ; std::cout << users[0].name << "\n"; std::cout << users[1].age << "\n"; return 0; }

Если размер известен заранее, массив можно объявить без списка значений - тогда у класса нужен конструктор по умолчанию. Запишем класс с таким конструктором:

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

Создадим массив из двух элементов и зададим поля первому:

int main() { User users[2]; users[0].name = "john"; users[0].age = 21; std::cout << users[0].name << "\n"; return 0; }

Цикл по диапазону перебирает объекты по очереди. Запишем класс User с именем и возрастом:

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

Создадим массив и выведем имя каждого пользователя в цикле:

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

Сделайте класс City с полями name и population и конструктор с двумя параметрами.

Создайте C-массив из трех объектов City. Выведите название каждого города в консоль.

Дан массив объектов User:

User users[3] = { User("john", 21), User("eric", 22), User("kyle", 23) };

Посчитайте сумму возрастов всех пользователей. Выведите результат.

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