Как использовать методы указателя в C ++? - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть код, в котором я использую указатель на класс, который я сделал.В качестве примера, скажем, у меня есть метод Person, и у каждого Person было имя.Теперь допустим, что я использую указатель для такого человека, как

Person& * person_;

Теперь предположим, что я пытаюсь получить имя человека, используя указатель, который у меня есть.Если я сделаю что-то столь же простое, как

person_.getName()

, он выдаст ошибку, говорящую, что это не классовый тип.

Мой вопрос: если у меня есть только указатель для работы скак использовать методы класса, на который он указывает?

Ответы [ 5 ]

5 голосов
/ 28 сентября 2011

Я не понимаю, как вы заставили компилятор даже принять Person& * person_, поскольку это бессмысленное объявление (нет указателей на ссылки). Предполагая, что вы действительно использовали Person* person_, просто используйте оператор ->: person_->getName().

1 голос
/ 28 сентября 2011

person_->getName() - сокращение от (*person_).getName().Оба будут работать.Также, как указал @Marcelo, оно должно быть Person& * person_;

1 голос
/ 28 сентября 2011

Вы используете обозначение указателя:

person_->getName()

-> - это то, что вы хотите.

1 голос
/ 28 сентября 2011

должно быть person_->getName();

0 голосов
/ 28 сентября 2011

person_->getName() - это то, что вы должны использовать.

Вы можете прочитать об этом на cplusplus.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...