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

Указатель на объект в C++

Указатель на объект хранит адрес экземпляра в памяти, а не копию полей.

Тип записывают как User*. Оператор & перед именем объекта дает его адрес. Запишем класс User:

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

Создадим объект и запишем его адрес в указатель. Звезда и скобки (*p) означают объект по этому адресу, дальше через точку пишут поле. Выведем возраст:

int main() { User user("john", 21); User* p = &user; std::cout << (*p).age << "\n"; return 0; }

Скобки вокруг *p нужны: сначала берут объект по адресу, затем читают поле. Запишем класс 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 user("john", 21); User* p = &user; std::cout << (*p).name << "\n"; (*p).age = 22; std::cout << user.age << "\n"; return 0; }

Создайте объект City с названием и населением. Запишите его адрес в City* и выведите название через (*p).name.

Дан объект User и указатель User* p на него. Измените имя через (*p).name и выведите имя из исходной переменной user.

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