Доступ к данным объекта в динамической области
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
Очередь разрушена // сообщения деструкторов
Очередь разрушена //