Cтраница 3
Поэтому класс Animal инициализируется не конструкторами классов Horse и Bird, а конструктором класса Pegasus. Конструкторы классов Horse и Bird также содержат команды инициализации базового класса Animal, но при создании объекта Pegasus эта инициализация перекрывается конструктором данного класса. [31]
NET все переменные являются объектами или могут быть преобразованы в объекты) осуществляется соответствующим конструктором класса. При разработке конструктора для определяемых вами объектов обязательно надо вызывать конструктор родительского класса. [32]
В листинге 15.3 показано, как создание одного объекта Employee приводит к вызову пяти конструкторов класса String. [33]
На шестом занятии, изучая базовые классы, вы узнали, что в случае отсутствия явного объявления конструктора класса используется конструктор по умолчанию, который не содержит параметров и никак себя не проявляет в программе. Не составляет труда создать собственный конструктор, применяемый по умолчанию, который также не будет принимать никаких параметров, но позволит управлять созданием объектов класса. [34]
Как следует из объявления в листинге 15.1, значение переменной ConstructorCount увеличивается на единицу при каждом вызове конструктора класса String. В конце программы, представленной в листинге 15.4, объект Employee передается на печать сначала как ссылка, а затем как значение. Статическая переменная-член ConstructorCount отслеживает, сколько объектов класса String создается при разных способах передачи объекта Employee как параметра функции. [35]
NET эта идея расширена за счет использования спецификатора class static, при этом появляется возможность использовать свойства class static, поля class static и конструкторы класса. [36]
Первая из этих функций может обращаться ко второй, каждая из них может обращаться к Self, и этим ограничиваются все возможности, если не считать возможности обращения к конструктору класса. [37]
Метки играют важную роль при определении принадлежности новых записей к определенному потоку. Конструктор класса устанавливает указатели начальной и конечной метки так, чтобы они ссылались друг на друга. Потом для начальной метки устанавливаются такие значения данных, чтобы они стояли перед любыми допустимыми реальными записями для всех потоков. [38]
Программа драйвера в main создает объекты дат: dl, которая по умолчанию получает начальное значение Январь 1, 1900, d2, которая получает начальное значение Декабрь 27, 1992 и d3, которой программа пытается присвоить неправильную дату. Конструктор класса Date вызывает setDate для установки заданных значений месяца, дня и года. [39]
Создание бинарного дерева и его обход ( часть 1 из 4. [40] |
Каждая из этих функций-элементов вызывает свою собственную отдельную рекурсивную функцию-утилиту для выполнения соответствующих операций над внутренней структурой дерева. Конструктор класса Tree задает указателю rootPtr нулевое значение, чтобы показать, что дерево в исходном состоянии является пустым. [41]
В строке 25 класс Horse производится от класса Animal. Конструктор класса Horse теперь имеет третий параметр age, который передается в базовый класс Animal. Обратите внимание, что в классе Horse метод GetAgeO не замещается, а просто наследуется. [42]
Эту проблему можно решить, объявив функцию-друга в классе String, которая перегружает operator таким образом, чтобы суммировать два объекта String. Соответствующий конструктор класса String преобразует строки в объекты String, после чего вызывается функция-друг operator, выполняющая конкатенацию двух объектов. [43]
Инициализация объекта Pegasus выполняется тремя строками программы. Сначала конструктор класса Horse определяет цвет и рост. Затем конструктор класса Bird инициализируется цветом перьев и логической переменной. [44]
Объявляем класс, переменными-членами которого являются два указателя на тип int. В конструкторе класса ( строки 22 - 26) выделяется память для хранения этих переменных, а затем им присваиваются начальные значения. [45]