Лабораторная работа1 Классы

ЛАБОРАТОРНАЯ РАБОТА №1
КЛАССЫ, КОНСТРУКТОРЫ, ДЕСТРУКТОРЫ, МЕТОДЫ КЛАССОВ

Цель работы
Изучение классов как механизма создания объектов.

Последовательность выполнения работы

Получите у преподавателя вариант задания к лабораторной работе. Напишите программу решения задачи в соответствии с вариантом задания.
Ответьте на контрольные вопросы.
В качестве отчета следует представить исходный, загрузочный файлы и результаты работы программы.

Варианты заданий к лабораторной работе

ВАРИАНТ 1
Объявите класс TIntset, создающий тип – множество целых чисел.
Элементы – данные класса:
- указатель на область памяти, в которой расположено множество;
- максимальное число элементов множества;
индекс элемента множества.
Предусмотрите конструкторы класса:
по умолчанию (инициализирующий элементы – данные нулевыми значениями);
получающий параметры и инициализирующий элементы – данные случайными значениями;
копирования.
Напишите функции – методы класса для:
ввода элементов множества в диалоговом режиме;
просмотра множества;
определения равенства множеств;
выполнения объединения двух множеств.
Напишите программу, в которой создайте обьекты типа TIntset и выполните над ними действия, предусмотренные методами класса.

ВАРИАНТ 2
Объявите класс Complex, создающий тип – комплексное число.
Элементы – данные класса – мнимая и действительная части комплексного числа.
Предусмотрите конструкторы класса:
по умолчанию (инициализирующий элементы – данные нулевыми значениями);
получающий параметры и инициализирующий элементы – данные передаваемыми конструктору значениями;
копирования.
Напишите функции – методы класса для:
ввода комплексного числа в диалоговом режиме;
вывода комплексного числа;
выполнения сравнения на равенство и суммирования комплексных чисел.
Напишите программу, в которой создайте обьекты типа Complex и выполните над ними действия, предусмотренные методами класса.

ВАРИАНТ 3
Объявите класс TArray, создающий тип – массив.
Элементы – данные класса:
- указатель на область памяти, в которой расположен массив;
- максимальное число элементов массива.
Предусмотрите конструкторы класса:
по умолчанию (инициализирующий элементы массива нулевыми значениями);
получающий параметры и инициализирующий элементы массива случайными значениями;
копирования.
Напишите функции – методы класса для:
ввода элементов массива в диалоговом режиме;
вывода массива;
сортировки массива.
Напишите программу, в которой создайте объекты типа TArray и выполните над ними действия, предусмотренные методами класса.

ВАРИАНТ 4
Объявите класс TMatric, создающий тип – матрицу.
Элементы – данные класса:
- указатель на область памяти, в которой расположена матрица;
- количество строк и столбцов матрицы.
Предусмотрите конструкторы класса:
по умолчанию;
получающий параметры и инициализирующий элементы матрицы случайными значениями;
копирования.
Напишите функции – методы класса для:
ввода элементов матрицы в диалоговом режиме;
вывода матрицы;
сложения матриц.
Напишите программу, в которой создайте объекты типа TMatric и выполните над ними действия, предусмотренные методами класса.

ВАРИАНТ 5
Объявите класс TString, создающий тип – строку.
Элементы – данные класса:
- указатель на строку;
- длина строки.
Предусмотрите конструкторы класса:
по умолчанию;
получающий параметр – указатель на строку;
получающий параметр – ссылку на строку;
Напишите функции – методы класса для сравнения строк, определения длины строки, конкатенации строк.
Напишите программу, в которой создайте объекты типа TString и выполните над ними действия, предусмотренные методами класса.

ВАРИАНТ 6

Объявите класс TMan, создающий тип – человека.
Элементы – данные класса – фамилия, имя, отчество, возраст, адрес человека.
Предусмотрите конструкторы класса:
по умолчанию;
получающий параметры;
получающий параметр –ссылку на класс TMan.
Напишите функции – методы класса для:
ввода – вывода данных о человеке;
определения, является ли человек избирателем, если учитывать только его возраст;
определения совпадения фамилии человека с некоторой заданной.
Напишите программу, в которой создайте массив объектов типа TMan, заполните его в диалоговом режиме, выведите сначала исходный массив, а затем всех избирателей с заданной фамилией.
Примечание:
Массив объектов класса может быть создан как статически, так и динамически. Объекты класса, которые будет содержать массив, обязательно должны иметь конструкторы по умолчанию. При создании массива объектов класса для каждого объекта массива будет вызван конструктор по умолчанию.

ВАРИАНТ 7

Объявите класс TBook, создающий тип – книгу.
Элементы – данные класса – автор, название, год издания.
Предусмотрите конструкторы класса:
по умолчанию;
получающий параметры;
получающий параметр –ссылку на класс TBook.
Напишите функции – методы класса:
для ввода – вывода данных о книге;
определения, относится ли год издания книги к какому – либо, значение которого передается через параметр;
определения, совпадает ли фамилия автора со значением, передаваемым в виде параметра.
Напишите программу, в которой создайте массив объектов типа TBook, заполните его в диалоговом режиме и найдите в этом массиве все книги определенного автора, например Нортона, изданные после, например, 1990 года.
Примечание:
Массив объектов класса может быть создан, как статически, так и динамически. Объекты класса, которые будет содержать массив, обязательно должны иметь конструкторы по умолчанию. При создании массива объектов класса для каждого объекта массива будет вызван конструктор по умолчанию.

ВАРИАНТ 8

Объявите класс TCar, создающий тип – автомобиль.
Элементы – данные класса – название автомобиля, год выпуска.
Предусмотрите конструкторы класса:
по умолчанию;
получающий параметры;
получающий параметр –ссылку на класс TCar.
Напишите функции – методы класса:
для ввода – вывода данных об автомобиле;
определения, относится ли год выпуска автомобиля к какому – либо, значение которого передается через параметр;
определения, совпадает ли название автомобиля со значением, передаваемым в виде параметра.
Напишите программу, в которой создайте массив объектов типа TCar, заполните его в диалоговом режиме и найдите в этом массиве все автомобили определенной марки, выпущенные после, например, 1990 года.
Примечание:
Массив объектов класса может быть создан, как статически, так и динамически. Объекты класса, которые будет содержать массив, обязательно должны иметь конструкторы по умолчанию. При создании массива объектов класса для каждого объекта массива будет вызван конструктор по умолчанию.

ВАРИАНТ 9

Объявите класс TGoods, создающий тип – товар.
Элементы – данные класса – наименование товара, год производства.
Предусмотрите конструкторы класса:
по умолчанию;
получающий параметры;
получающий параметр –ссылку на класс TGoods
Напишите функции – методы класса:
для ввода – вывода данных о товаре;
определения, относится ли год производства товара к какому – либо, значение которого передается через параметр;
определения, совпадает ли наименование товара со значением, передаваемым в виде параметра.
Напишите программу, в которой создайте массив объектов типа TGoods, заполните его в диалоговом режиме и найдите в этом массиве все товары определенного наименования, дата производства которых соответствует, например, 1998 году.
Примечание:
Массив объектов класса может быть создан, как статически, так и динамически. Объекты класса, которые будет содержать массив, обязательно должны иметь конструкторы по умолчанию. При создании массива объектов класса для каждого объекта массива будет вызван конструктор по умолчанию.

ВАРИАНТ 10

Объявите класс TPress, создающий тип – печатные издания.
Элементы – данные класса – наименование издания, тип (газета или журнал), тираж.
Предусмотрите конструкторы класса:
по умолчанию;
получающий параметры;
получающий параметр –ссылку на класс TPress
Напишите функции – методы класса:
для ввода – вывода данных о печатных изданиях;
определения, относится ли печатное издание к газете или журналу;
определения всех изданий с тиражом выше определенного.
Напишите программу, в которой создайте массив объектов типа TPress, заполните его в диалоговом режиме и найдите в этом массиве все журналы, тираж которых выше заданного.
Примечание:
Массив объектов класса может быть создан, как статически, так и динамически. Объекты класса, которые будет содержать массив, обязательно должны иметь конструкторы по умолчанию. При создании массива объектов класса для каждого объекта массива будет вызван конструктор по умолчанию.

ВАРИАНТ 11

Объявите класс TSession, создающий тип – сессия.
Элементы – данные класса – фамилия студента, название предмета и оценка.
Предусмотрите конструкторы класса:
по умолчанию;
получающий параметры;
получающий параметр –ссылку на класс TSession.
Напишите функции – методы класса:
для ввода – вывода данных о результатах сессии;
определения среднего балла студента по всем сдававшимся предметам;
определения, имеет ли студент задолженности.
Напишите программу, в которой создайте массив объектов типа TSession, заполните его в диалоговом режиме, найдите и выведите средние баллы по всем предметам, а также фамилии студентов - задолжников.

Примечание:
Массив объектов класса может быть создан как статически, так и динамически. Объекты класса, которые будет содержать массив, обязательно должны иметь конструкторы по умолчанию. При создании массива объектов класса для каждого объекта массива будет вызван конструктор по умолчанию.


Контрольные вопросы
1.Что такое класс? Как выполнить объявление класса.
2. Каким образом элементы класса получают атрибуты доступа?
3.Что такое объект класса и как выполнить объявление объекта класса в программе?
4. Что такое методы класса? Каковы особенности объявления и определения методов класса? Что такое указатель this? Как выполняется вызов функции – метода класса?
5. Какие функции называются конструкторами? Каков механизм передачи параметров конструктору?
6.Как выполняется инициализация объектов класса?
7.Каким образом осуществляется уничтожение объектов класса?


Приложенные файлы

  • doc 19349369
    Размер файла: 53 kB Загрузок: 0

Добавить комментарий