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

Стрелка при указателе на объект в C++

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

Создайте объект Product с названием и ценой. Сохраните адрес в Product* и выведите цену через ->.

Дан указатель User* p на объект User. Запишите новое имя через p->name и выведите имя из переменной user.

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