Практикум по объектно-ориентированному программированию на базе языка с++ Учебно-методическое пособие



Pdf көрінісі
бет20/44
Дата21.02.2024
өлшемі0.49 Mb.
#492719
түріПрактикум
1   ...   16   17   18   19   20   21   22   23   ...   44
ООП С

 
 
36 
ЛАБОРАТОРНАЯ РАБОТА № 8. 
СТАТИЧЕСКИЕ ПОЛЯ И МЕТОДЫ 
 
Ключевые слова: статическое поле, статический метод, код ошибки. 
 
Цель: закрепить опыт по перегрузке операторов, а также познако-
миться со статическими полями и методами класса, а также научиться 
контролировать ситуации возникновения ошибок в методах класса через 
атрибут класса error
Спецификатор static описывает статические атрибуты и методы 
класса, которые можно рассматривать как глобальные переменные и функ-
ции, доступные в пределах класса. 
Статические атрибуты применяются для хранения данных, общих 
для всех объектов класса, например, количества объектов или ссылки на 
разделяемый всеми объектами ресурс. Эти атрибуты существуют для всех 
объектов класса в единственном экземпляре, то есть не дублируются. 
Особенности статических атрибутов
 Память под статический атрибут выделяется один раз при его иници-
ализации, независимо от числа созданных объектов (и даже при их 
отсутствии), инициализируется с помощью операции доступа к обла-
сти действия и не учитывается при определении размера объекта
с помощью операции sizeof. 
 Статические атрибуты доступны как через имя класса, так и через имя 
объекта. 
 Прежде чем использовать статический атрибут, надо присвоить ему 
начальное значение (что следует делать в .cpp файле реализации 
класса, а не где-то еще): int IntArray::count = 0; 
 На статические атрибуты распространяется действие спецификаторов 
доступа, поэтому статические поля, описанные как private, нельзя
изменить с помощью операции доступа к области действия. Это дела-
ется с помощью статических методов. Эти методы могут обращаться 
непосредственно только к статическим атрибутам и вызывать только 
другие статические методы класса, потому что им не передается скры-
тый указатель this.
 Обращение к статическим методам производится так же, как к стати-
ческим атрибутам, – через имя класса: 
 
 


37 
void main() 

cout<
intArray A, B, C; 
cout<

… либо, если создан хотя бы один объект класса, через имя объекта. 


Достарыңызбен бөлісу:
1   ...   16   17   18   19   20   21   22   23   ...   44




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет