Cтраница 1
![]() |
Два связанных объекта класса с самоадресацией. [1] |
Объекты классов с самоадресацией могут связываться друг с другом, формируя такие полезные структуры данных, как списки, очереди, стеки и деревья. На рис. 15.1 показаны два объекта класса с самоадресацией, связанных вместе для создания списка. Заметим, что обратный слэш (), изображающий нулевой указатель ( 0), помещен в элемент связи второго объекта только чтобы было ясно, что эта связь не указывает на какой-либо другой объект. Нулевой указатель обычно отражает конец структуры данных так же, как нулевой символ ( 0) отражает конец строки. [2]
Объекты классов auto и register имеют локальный характер. Спецификаторы static и extern определяют глобальные объекты. Каждый из спецификаторов класса памяти имеет определенный смысл, который влияет на доступность функций и переменных в той же мере, как и сами классы памяти. [3]
Инициализировать объекты классов при их определении, подобно переменным встроенных типов. [4]
На объектах классов Э1 и Э2 по ГОСТ 12.1.018 не допускается размещать и применять порошковые и СО2 - огнетушители с раструбами из диэлектрических материалов. [5]
При создании объектов классов поля копируются в память, выделенную каждому экземпляру, так что значения полей отдельных экземпляров никак не связаны друг с другом. А информация о методах находится в памяти в единственном экземпляре и обслуживает все объекты данного класса. [6]
Чтобы использовать операцию над объектами классов, эта операция должна быть перегружена, но есть два исключения. Операция присваивания () может быть использована с каждым классом без явной перегрузки. По умолчанию операция присваивания сводится к побитовому копированию данных-элементов класса. Мы увидим вскоре, что такое побитовое копирование опасно для классов с элементами, которые указывают на динамически выделенные области памяти; для таких классов мы будем явно перегружать операцию присваивания. Операция адресации ( &) также может быть использована с объектами любых классов без перегрузки; она просто возвращает адрес объекта в памяти. [7]
Чтобы использовать операцию над объектами классов, эта операция должна быть перегружена, но есть два исключения. Операция присваивания () может быть использована с каждым классом без явной перегрузки, выполняя по умолчанию побитовое копирование данных-элементов класса. Операция адресации ( &) также может быть использована с объектами любых классов без перегрузки; она просто возвращает адрес объекта в памяти. [8]
Связный список является линейным набором объектов классов с самоадресацией, называемых узлами, связанных при помощи указателей связи и поэтому определяемых термином связный список. Доступ к связному списку осуществляется через указатель на первый узел списка. Последующие узлы доступны через указатели связи, хранящиеся в каждом узле. В соответствии с соглашением указатель связи в последнем узле списка устанавливается на нуль для того, чтобы отметить конец списка. Данные в связном списке хранятся динамически, то есть каждый узел создается по мере необходимости. Узлы могут содержать данные любого типа, включая объекты других классов. Стеки и очереди также являются линейными структурами данных и, как мы увидим, являются частными случаями связного списка. Деревья являются нелинейной структурой данных. [9]
Рассмотрим подробнее структуру соответствующих этим объектам классов. [10]
Файлы закрываются, когда выполняются деструкторы объектов классов if stream, ofstream или fstream, а это происходит, когда объекты потоков выходят из области действия или перед завершением выполнения программы; но, все же, хорошим стилем программирования является закрытие всех файлов явным образом с помощью функции close, когда уже нет потребности в этих файлах. [11]
Композиция позволяет повторно использовать код путем создания объектов классов структур данных, являющихся элементами составного класса; если мы создадим закрытый объект-элемент составного класса, то в этом случае открытые функции-элементы объектов не будут доступны через интерфейсы этих скомпонованных объектов. [12]
Для определения меры близости или подобия между объектами S классов Ки и q в и-мерном векторном пространстве признаков необходимо ввести метрику. [13]
В главе 16 мы обсудим динамическое распределение памяти для объектов классов. Мы увидим, что операции new и delete выполняют и другие задачи ( например, автоматически вызывают конструкторы и деструктор класса), что делает использование операций new и delete более мощным и более надежным, чем вызов функций malloc и free. [14]
Системы в автоматическом режиме обеспечивает выделение на обрабатываемых изображениях объектов заданных классов: дорожной сети, кварталов с характерной застройкой, аэродромов и стоящих на них самолетов. Нейросетевые принципы, заложенные в их основу, обеспечивают инвариантность к яркостным характеристикам выделяемых и распознаваемых объектов, а также позволяют проводить обучение и адаптацию систем. [15]