Указатели на объекты в С++

До сих пор доступ к членам объекта получали с помощью оператора точка (.). Доступ к члену объекта можно получить и через указатель на этот объект. В этом случае обычно применяется оператор стрелка (->). Вы объявляете указатель на объект точно так же, как и указатель на переменную любого другого типа. Задайте имя класса этого объекта, а затем имя переменной со звездочкой перед ним. Для получения адреса объекта перед ним необходим оператор &, точно так же, как это делается для получения адреса переменной другого типа. Как и для любого другого указателя, если вы инкрементируете указатель на объект, он будет указывать на следующий объект такого же типа.

Пример.
#include 
using namespace std;

class myclass {
 int a;
public:
 myclass(int x); // конструктор
 int get();
};

myclass::myclass(int x)
{
 a = x;
}

int myclass::get()
{
 return a;
}

int main()
{
 myclass ob(120); // создание объекта
 myclass *p; // создание указателя на объект

 p = &ob; // передача адреса ob в p

 cout << "Значение, получаемое через объект:" << ob.get();
 cout << "\n";

 cout << "Значение, получаемое через указатель:" << p->get();

 return 0;
}
Замечание. Отметьте, как объявление myclass *p; создает указатель на объект класса myclass. Это важно для понимания следующего положения: создание указателя на объект не создает объекта, оно создает только указатель на него.

Для передачи адреса объекта ob в переменную р, использовалась инструкция: р = sob; И последнее, в программе показано, как можно получить доступ к членам объекта с помощью указателя на этот объект.
Онлайн всего: 4
Гостей: 4
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте