Сколько в классе может быть объявлено не статических конструкторов по умолчанию?

5. Чем отличаются конструкторы с аргументами от конструкторов по умолчанию?

6. Как инициализируются поля только для чтения?

7. Чем отличаются константы от полей только для чтения?

8. Сколько конструкторов с аргументами может быть объявлено в классе?

9. Сколько конструкторов по умолчанию может быть объявлено в классе?

10. Как осуществляется вызов конструкторов данного класса из других конструкторов?

11. Допустимо ли объявлять конструкторы со спецификациями protected и private?

Задания:

1. Создать приложение, в котором в цикле создается 10 объектов класса. Поля только для чтения каждого экземпляра равны порядковому номеру, отражающего очередность создания объектов.

2. Изменить тело конструктора с аргументами таким образом, чтобы производился анализ диапазона значения передаваемого аргумента. При выходе из некоторого диапазона - печаталось соответствующее сообщение, а значение аргумента приравнивалось, в зависимости от ситуации, минимально или максимально допустимому значению.

3. Объявить класс, содержащий два поля целого типа, свойства только для чтения этих полей, а также конструктор по умолчанию и конструктор с аргументами. Конструктор по умолчанию присваивает полям класса значение 2 и 3 соответственно. Конструктор с аргументами присваивает первому полю значение суммы аргументов, а второму полю значение разности аргументов. Создать объекты этого класса с использованием всех конструкторов. Аргументы для конструкторов вводятся с клавиатуры. Распечатать поля объектов.

4. Объявить класс, содержащий поле целого типа две константы, задающие допустимый диапазон значения этого поля и свойства для работы с этими полями. Конструктор с двумя аргументами присваивает полю значение суммы аргументов, если сумма не выходит за пределы диапазона, в противном случае, значение суммы ограничивается в соответствии с допустимым верхним или нижним значением. Создать объект этого класса. Аргументы для конструктора вводятся с клавиатуры. Распечатать поля объекта.

5. Объявить класс, содержащий одномерный целочисленный массив размерностью 10, индексатор для работы с этим массивом, а также конструктор по умолчанию и конструктор с одним аргументом. Конструктор по умолчанию присваивает элементам массива значение равное индексу элемента. Конструктор с аргументами присваивает элементам массива значение равное сумме аргумента с индексом элемента. Создать объекты этого класса с использованием всех конструкторов. Аргументы для конструктора вводятся с клавиатуры. Распечатать поля (массивы) объектов.

6. Объявить класс, содержащий одномерный целочисленный массив, индексатор для работы с этим массивом, а также приватный конструктор, принимающий один параметр в качестве аргумента. Конструктор выделяет память под массив, размерность которого определяется аргументом конструктора. Также в классе определен конструктор с двумя аргументами, который при своей работе вызывает приватный конструктор, передавая ему свой первый аргумент в качестве параметра, а затем расписывает все элементы массива значением своего второго аргумента. Создать объект этого класса. Ввести с клавиатуры элементы массива объекта Аргументы для конструктора вводятся с клавиатуры. Распечатать поля (массивы) объектов.

7. Объявить класс, содержащий одномерный целочисленный массив, а также функцию, для печати элементов этого массива. Конструктор класса принимает один параметр – ссылку на массив (внешний массив). Конструктор выделяет память под внутренний массив размерностью совпадающий с размерностью внешнего массива, затем значения элементов внешнего массива копирует во внутренний массив и сортирует внутренний массив по возрастанию. Класс также должен содержать поля readonly для минимального и максимального элемента массива. Значения этих полей определяются в результате работы конструктора. Создать объект этого класса. Элементы внешнего массива ввести с клавиатуры. Распечатать элементы массива объекта, минимальное и максимальное значение массива объекта.

8. Объявить класс, содержащий одномерный целочисленный массив, также функцию, для печати элементов этого массива. Конструктор класса принимает один параметр – ссылку на массив (внешний массив). Конструктор выделяет память под внутренний массив размерностью совпадающий с размерностью внешнего массива, затем значения элементов внешнего массива копирует во внутренний массив. Класс также должен содержать поля readonly для минимального и максимального элемента массива. Значения этих полей определяются в результате работы конструктора. Элементы внешнего массива ввести с клавиатуры. Создать объект этого класса. Распечатать элементы массива объекта, минимальное и максимальное значение массива объекта.

9. Объявить класс, содержащий одномерный целочисленный массив и функцию, для печати элементов этого массива. Конструктор класса принимает два параметра – ссылки на массивы (внешние массивы). Конструктор выделяет память под внутренний массив размерностью совпадающий с размерностью большего внешнего массива, затем формируются значения элементов внутреннего массива путем попарного суммирования соответствующих элементов внешних массивов. Недостающие элементы одного из массивов заменяются при суммировании нулями. Класс также должен содержать поля readonly для минимального и максимального элемента массива. Значения этих полей определяются в результате работы конструктора. Элементы внешних массивов ввести с клавиатуры. Создать объект этого класса. Распечатать элементы массива объекта, минимальное и максимальное значение массива объекта.

10. Объявить класс, содержащий одномерный целочисленный массив и функцию, для печати элементов этого массива. Конструктор класса принимает два параметра – ссылки на массивы (внешние массивы). Конструктор выделяет память под внутренний массив размерностью совпадающий с размерностью большего внешнего массива, затем формируются значения элементов внутреннего массива путем попарного сравнения соответствующих элементов внешних массивов и записи во внутренний массив наименьшего значения. Недостающие элементы одного из массивов заменяются при сравнении нулями. Класс также должен содержать поля readonly для минимального и максимального элемента массива. Значения этих полей определяются в результате работы конструктора. Элементы внешних массивов ввести с клавиатуры. Создать объект этого класса. Распечатать элементы массива объекта, минимальное и максимальное значение массива объекта.

11. Объявить класс, содержащий одномерный целочисленный массив размерностью 10, индексатор для работы с этим массивом. Создать объект данного класса. Ввести с клавиатуры элементы массива объекта. Найти элемент массива наиболее близкий по своему значению средне арифметическому значению элементов массива. Распечатать значение этого элемента и его индекс.

12. Объявить класс, содержащий одномерный целочисленный массив и функцию, для печати элементов этого массива. Конструктор класса принимает два параметра – ссылки на массивы (внешние массивы). Конструктор выделяет память под внутренний массив размерностью равной сумме размерностей внешних массивов, затем формируются значения элементов внутреннего массива путем копирования вначале элементов одного внешнего массивов, а затем второго. Результирующий массив сортируется. Класс также должен содержать поля readonly для минимального и максимального элемента массива. Значения этих полей определяются в результате работы конструктора. Элементы внешних массивов ввести с клавиатуры. Создать объект этого класса. Распечатать элементы массива объекта, минимальное и максимальное значение массива объекта