Доступ к элементам класса может быть осуществлен из функций-элементов непосредственно, а из внешних функций – к открытым элементам через представителя класса (объект) с помощью операции «.» (точка). Если при создании объекта объявлен указатель на него, то доступ к открытым элементам из внешних функций осуществляется через имя указателя и операцию «→» (стрелка). Если разрешен доступ непосредственно к элементу класса, минуя объект (открытые статические элементы), то доступ осуществляется указанием имени класса и операции «::».
Доступ из внешних функций зависит от статуса элементов:
а) к открытым элементам – через объект класса, например, ob1.a = 6 (как в структурах);
б) к закрытым и защищенным элементам – с помощью специальных интерфейсных (открытых) функций (модификатор или селектор), например,
ob1.seta(6); // модификация компонентной переменной а
или
cout<<ob1.geta(); // чтение и отображение на экране значения
// компонентной переменной а.
Пример:
class Time
{ public: static inta;
inthour;
intmin;
};
intTime::a=0;
int main() // функция main является внешней по отношению к классу
{ Тime start; // создание локального объекта start
Тime *pTime = &start; // объявление указателя на объект start
start.hour = 17; // доступ к элементу через объект класса
pТime → min = 30; // доступ к элементу через указатель на объект
Time::a=5; // доступ к элементу непосредственно
return 0;
}
64. Конструктор класса. Назначение, синтаксис определения и вызова конструктора. Создание объекта класса.