Доступ к данным объекта в динамической области

Cat *Kitten=new Cat; // выделение памяти для хранения экземпляра класса Cat

Kitten->SetAge(1);
Пример

class queue {

int q[100]; приватная часть

int sloc, rloc;

public:

queue( ); // конструктор

~queue( ); // деструктор

void qput(int i);// присвоение значений закрытым членам класса

int qget( );//чтение значений закрытых членов класса

}; // завершение описания класса

// определение конструктора

queue::queue( ) // :: оператор разрешения области видимости (scope

// resolution).Определяет, к какому классу принадлежит ф-ия

{

sloc=rloc=0;

cout << “Очередь инициализирована \n”;

}

 

queue::~queue( ) // описание деструктора

{

cout << “Очередь разрушена\n”;

}

 

// занесение в очередь целочисленного значения

void queue::qput(int i)

{

if (sloc= =100)

{

cout << “Очередь заполнена \n”;

return;

}

sloc++;

q[sloc]=i; // обращение к закрытым данным

}

 

int queue::qget( )

{

if (sloc==rloc)

{

cout <<”Очередь пуста”;

return 0; // Обязательно надо вернуть какое-то значение, т.к. описана

// ф-ия, возвращающая целое

}

return q[rloc++];

}

main( )

{

queue a,b; // создание объектов класса queue

a.qput(10);

b.qput(19);

a.qput(20);

b.qput(1);

cout <<a.qget( )<< “ “;

cout <<a.qget( )<< “ “;

cout <<b.qget( )<< “ “;

cout <<b.qget( )<< “\n “;

return 0;

}

 

 

Протокол программы

Очередь инициализирована // сообщения конструкторов

Очередь инициализирована //

10 20 19 1

Очередь разрушена // сообщения деструкторов

Очередь разрушена //