Cтраница 4
Деструктор может выполнять любые задачи, необходимые для удаления объекта. Например, конструктор класса ( CMessage) выделяет блок памяти для хранения строки сообщения, а деструктор освобождает память непосредственно перед удалением экземпляра класса. [46]
Листинг 11.3 напоминает листинг 11.2 за тем исключением, что вызов конструктора и деструктора сопровождается сообщением об этом на экране. Сначала вызывается конструктор класса Mammal, затем класса Dog. После этого объект класса Dog полноценно существует и можно использовать все его методы. [47]
При объявлении объекта класса могут быть заданы инициализаторы. Эти инициализаторы передаются в конструктор класса. [48]
В объявлении объекта класса могут быть предусмотрены начальные значения. Эти начальные значения передаются конструктору класса. [49]
О Метод Classjnitialize автоматически выполняется при создании объекта данного класса как реакции на событие Initialize, которое происходит при создании объекта данного класса. Метод Classjnitialize называется также конструктором класса. [50]
Когда объявляется объект класса, между именем объекта и точкой с запятой можно в скобках указать список инициализации элементов. Эти начальные значения передаются в конструктор класса. Скоро мы увидим несколько примеров подобных вызовов конструкторов. [51]
Теперь рассмотрим реализацию функций и процедур. Первый оператор функции VectorCreate вызывает конструктор Create класса TVectorData. Вызывается наследуемый конструктор, а не его вариант, переопределенный в классе. Указатель на созданный объект заносится в поле VectorData записи возвращаемого объекта variant. В поле VType этой записи заносится код типа вектора. [52]
В строке 29 создается экземпляр описанного класса, который размешается в стеке. При этом происходит неявный вызов конструктора класса SimpleCat. В этом случае также вызывается конструктор. При выходе из функции переменная Frisky оказывается за пределами области видимости и для нее также вызывается деструктор. [53]
Вторая строка заголовка функции конструктора активизирует конструктор класса Point по имени. Значения а и b передаются из конструктора класса Circle конструктору класса Point, чтобы задать начальные значения элементам х и у базового класса. Если класс Point не снабжен конструктором с умолчанием, компилятор генерирует сообщение об ошибке. [54]
При объявлении объекта класса справа от его имени и до точки с запятой в круглых скобках могут быть заданы инициализаторы. Эти инициализаторы передаются в качестве аргументов в конструктор класса. Скоро мы расе - рим несколько примеров таких вызовов конструктора. [55]