ВУЗ:
Составители:
Рубрика:
87
ментов. Отметим, что нельзя получить адрес ни конструктора, ни дест-
руктора. Вызов конструктора происходит автоматически во время опре-
деления объекта абстрактного типа. Вызов деструктора происходит ав-
томатически при выходе объекта из области своего существования. Де-
структор может быть вызван и явно с обязательным указанием его пол-
ного имени. Отметим также, что для класса, в котором явно не опреде-
лен ни один конструктор, компилятор самостоятельно генерирует так
называемый конструктор по умолчанию, не имеющий аргументов, с
уровнем доступа public. То же относится и к деструктору.
Замечание: данные класса не обязательно должны быть определе-
ны или описаны до их первого использования в принадлежащих классу
функциях. То же самое справедливо и для принадлежащих классу
функций, то есть обратиться из одной функции класса к другой можно
до ее определения внутри тела класса. Все компоненты класса видны во
всем классе.
18.4. Статические члены класса
Данное-член класса можно объявить со служебным словом static.
Память под такие данные резервируется при запуске программы, то есть
еще до того, как программист явно создаст первый объект данного аб-
страктного типа. При этом все объекты, сколько бы их ни было, исполь-
зуют эту заранее созданную одну-единственную копию своего статиче-
ского члена. Статический член класса должен быть инициализирован
после определения класса и до первого описания объекта этого класса с
помощью так называемого полного или квалифицированного имени
статического члена, которое имеет вид
имя_класса::имя_статического_члена.
Если статический член имеет доступ public, то его также можно
использовать в программе с помощью квалифицированного имени, как
и обычным образом, с помощью уточненного имени.
Пример:
Напишем класс object, в статическом члене которого хранится
число существующих в каждый момент времени объектов типа object.
class object {
char *str;
public:
static int num_obj;
object ( char *s){ // Конструктор.
str = new char [strlen (s) + 1];
Страницы
- « первая
- ‹ предыдущая
- …
- 83
- 84
- 85
- 86
- 87
- …
- следующая ›
- последняя »
