Вызов - конструктор - Большая Энциклопедия Нефти и Газа, статья, страница 3
В истоке каждой ошибки, за которую вы ругаете компьютер, вы найдете, по меньшей мере, две человеческие ошибки, включая саму ругань. Законы Мерфи (еще...)

Вызов - конструктор

Cтраница 3


Множественное наследование указывается двоеточием (:) после имени производного класса и перечислением списка разделенных запятыми базовых классов после двоеточия. Для вызова конструкторов базового класса в конструкторе производного класса используется список инициализаторов элементов.  [31]

Для инициализации переменных ссылочных типов необходимо вызывать конструкторы. Поскольку до вызова конструктора переменная ссылочного типа содержит значение nil, работать с этой переменной до ее инициализации нельзя. Переменные ссылочных типов не уничтожаются сразу, как только выходят из области видимости. Высвобождение занимаемой ими памяти выполняется сборщиком мусора по мере необходимости, и эта память вообще может не высвобождаться до конца работы программы. Для гарантированного высвобождения критических ресурсов в ссылочных типах реализован механизм финализации, который отсутствует в размерных типах.  [32]

Заметим, что конструктор копии должен использовать вызов по ссылке, а не вызов по значению. В противном случае вызов конструктора копии приведет к бесконечной рекурсии, потому что при вызове по значению должна быть создана копия объекта, передаваемого конструктору копии, что приводит снова к вызову конструктора копии.  [33]

В строке 29 создается экземпляр описанного класса, который размешается в стеке. При этом происходит неявный вызов конструктора класса SimpleCat. В этом случае также вызывается конструктор. При выходе из функции переменная Frisky оказывается за пределами области видимости и для нее также вызывается деструктор.  [34]

Точно так же как класс может иметь пользовательский ( измененный) конструктор, он может иметь пользовательский деструктор - метод, объявленный с ключевым словом destructor, и вызываемый по имени Destroy. Так же, как вызов конструктора выделяет память для объекта, вызов деструктора освобождает память. Деструкторы нужны только для объектов, которые запрашивают внешние ресурсы у своих конструкторов или во время существования. Можно написать новый деструктор, полностью подменяющий стандартный деструктор Destroy, позволив объекту выполнить некоторую очистку прежде, чем он сам будет разрушен.  [35]

Операции с файлами могут выполняться с помощью потоков класса TFileStream, являющегося наследником TStream. Создание такого потока осуществляется вызовом конструктора TFileStream.  [36]

Поскольку производный класс наследует элементы базового класса, то при создании объекта производного класса должен быть вызван конструктор базового класса для задания начальных значений элементам базового класса, содержащимся в объекте производного класса. В конструкторе производного класса при явном вызове конструктора базового класса может быть предусмотрен список инициализаторов элементов; в противном случае конструктор производного класса будет неявно вызывать конструктор базового класса с умолчанием.  [37]

До вызова метода Create базового класса свойства формы не загружаются и внутренние компоненты недоступны. Поэтому обычный подход включает: сначала вызов конструктора базового класса и затем - выполнение пользовательских операций.  [38]

Если говорить в общем, конструктор вызывается при создании объекта, а деструктор - при его уничтожении. В следующем списке подробно перечислены случаи вызова конструкторов и деструкторов для различного вида объектов.  [39]

Когда создается объект производного класса, сначала работает конструктор базового класса, затем конструкторы для объектов - элементов производного класса и, наконец, конструктор производного класса. Деструкторы вызываются в порядке, обратном вызовам соответствующих конструкторов.  [40]

И в первом, и во втором присваивании компилятор в первую очередь преобразовывает константу в объект класса CCurrency, используя соответствующий конструктор преобразования, а затем присваивает его объекту Bucks класса CCurrency. Символ L во втором операторе присваивания необходим для исключения неоднозначного вызова конструктора преобразования.  [41]

Структура меню, которая была создана в редакторе меню до вызова Конструктора, останется без изменений.  [42]

Далее представлено содержимое файла, в котором располагаются три объекта-прямоугольника и два объекта-линии в следующем порядке: прямоугольник, линия, прямоугольник, прямоугольник и линия. Информация о типе объекта содержит только имя соответствующего класса, по которому и происходит вызов нужного конструктора во время исполнения программы, причем только один раз, далее тип определяется номером, указанным в ссылке.  [43]

Явно инициализируйте объекты - элементы данных посредством инициализаторов элементов. Это устраняет накладные расходы, связанные с двойной инициализацией элементов-объектов, - первый раз при вызове конструктора по умолчанию для объекта - элемента данных и снова при инициализации элемента с помощью set - функций.  [44]

Строки 3 и 4 соответствуют созданию объекта rover, а строки 5 и 6 - объекта buster. Обратите внимание, что в последнем случае из конструктора класса Dog с двумя целочисленными параметрами происходит вызов конструктора класса Mammal, содержащего один целочисленный параметр.  [45]



Страницы:      1    2    3    4