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

Создание объекта в куче - new в C++

Объект можно создать отдельно от переменной. Оператор new перед типом User выделяет память и возвращает адрес объекта. Такую память называют кучей.

Запишем класс User:

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

Создадим объект через new и выведем поле через стрелку:

int main() { User* p = new User(1); std::cout << p->age << "\n"; return 0; }

Конструктор с несколькими параметрами тоже вызывают после new. Запишем класс с таким конструктором:

#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* p = new User("john", 21); std::cout << p->name << "\n"; std::cout << p->age << "\n"; return 0; }

Сделайте класс Task с полем id и конструктором с одним параметром int. Создайте объект через new, сохраните адрес в указателе и выведите id.

Создайте объект User через new с именем и возрастом. Выведите имя через ->.

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