твуют следующие особенности:
если конструктор не вызывается явно, то он будет вызван автоматически при создании объекта с использованием значений параметров по умолчанию;
если конструктор не описан явно, то он генерируется транслятором без участия программиста.
Для передачи значений элементам данных объекта с помощью конструктора существуют два формата записи.
Первый из них:
имя класса имя объекта имя конструктора (список аргументов);
Второй, более короткий, формат вызова конструктора имеет вид:
имя конструктора имяобъекта (список аргументов);
В обоих случаях осуществляется создание объекта указанного класса и инициализация его элементов данных. Возможность второго варианта объясняется тем, что имя конструктора совпадает с именем класса.
Например, конструктор Sum() можно вызвать двумя способами: Sum ASum(1,2); и Sum А(1,2). В обоих случаях создается объект А, элементы данных х и у которого получают начальные значения 1 и 2 соответственно. Для обсуждаемого примера вызов конструктора можно осуществить без указания первого аргумента, т. е. Sum A(,2);.
В этом случае элементу данных х будет присвоено нулевое значение по умолчанию (х20). В классе могут быть несколько конструкторов.
Деструкторы уничтожают объекты класса и освобождают занимаемую этими объектами память. Деструктор представляет собой метод с именем, совпадающим с именем класса, перед которым стоит символ тильда (). Деструктор не должен иметь ни параметров, ни типа возвращаемого значения. Описание деструктора имеет следующий
формат:
имя класса ( ) операторытеладеструктора
Например, для класса Sum описание деструктора выглядит следующим образом:
Sum()
Деструктор вызывается явно или неявно. Деструктор вызывается явно (как обычный вызов функци
Страницы: << < 4 | 5 | 6 | 7 | 8 > >>