Skip to content

IglFox/Object-oriented-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

😋Объектно ориентированное программирование 3семестр (Java)

2025

Лабораторная работа 1 КЛАССЫ

  • Номер 16 -> Задания номер 4 и 16
  1. Необходимо предусмотреть выполнение следующих операций над строками разрабатываемого класса:
  • int Length() – определение длины строки,
  • void Copy(const String str) – скопировать строку str,
  • int Find(char ch, int start) – начиная с индекса start, найти положение символа ch в строке, для которой вызывается метод Find(),
  • int FindLast(char ch) – найти последнее вхождение символа ch,
  • String Substr(int index, int count) – выделение подстроки, начиная с индекса index; count – длина, выделяемой подстроки,
  • void Remove(int index, int count) – удаление подстроки, начиная с индекса index; count – длина удаляемой подстроки.
  • void Insert(char* s, int index) - вставка строки в стиле языка C в строку, для которой вызывается метод Insert; index – позиция, перед которой выполняется вставка.
  • void print() – метод для вывода строки на экран дисплея.
  1. Требуется разработать класс, обеспечивающий работу с комплексными числами. Реализация должна содержать три поля. Первое и втрое поле должны задавать само комплексное число (его действительную и мнимую части), а последнее поле должно содержать модуль комплексного числа. Разработанный класс(Complex) должен обеспечить выполнение следующих операций:
  • сложение,
  • вычитание,
  • умножение,
  • деление,
  • вывод комплексного числа на экран дисплея.

Лабораторная работа 2 ОТНОШЕНИЕ ВКЛЮЧЕНИЯ

  • Номер 16 -> Номер 44

Разработать определения двух класса COne и CTwo, которые связаны отношением включения. Для всех классов требуется написать три вида конструкторов(умолчания, с параметрами и конструктор копирования), деструктор, перегруженный оператор присваивания, методы доступа и метод print(), распечатывающий значения полей объекта. Написать тестовую программу для проверки работоспособности разработанных классов.

Поля разрабатываемых классов считаются заданными:

  • Поля класса COne:
    long l;
    string s;
  • Поля класса CTwo:
    string s;
    COne* p;

Указания по выполнению лабораторной работы.

  1. Возможны следующие варианты организации классов: а) организуется модули отдельно для класса COne и СTwo; б) организуется общий модуль для указанных классов.
  2. При использовании в объявлении полей указателей следует предполагать, что экземпляр класса владеет тем объектом, на который установлен указатель. Например, поле класса COne может быть объявлено следующим образом: char* ps. Это означает, указатель ps должен быть установлен на строку в стиле языка Си. При этом конструктор класса COne должен обеспечить выделение памяти для этой строки и в нее и копирование в эту память внешней строки. Аналогичными соображениями следует руководствоваться в отношении объявления полей вида COne* p.
  3. Тип string реализован с помощью класса стандартной библиотеки языка C++.

Лабораторная работа 3 ОТНОШЕНИЕ НАСЛЕДОВАНИЯ

Дополнить систему, состоящую из двух классов COne и CTwo, которые были разработаны в лабораторной работе 2, новым классом CThree. Новый класс должен быть связан public наследованием с классом CTwo. Класс CThree должен имеет одно поля, которое выбирается студентом самостоятельно. Для разрабатываемого класса написать конструкторы умолчания, с параметрами и конструктор копирования, деструктор, методы доступа и метод print(). Написать тестовую программу для проверки работоспособности разработанных классов.


Лабораторная работа 4 ВИРТУАЛЬНЫЕ ФУНКЦИИ

Дополнить систему, состоящую из трех классов COne, CTwo и CThree, которые были разработаны в лабораторной работе 3, новым классом CFour. Новый класс должен быть связан public наследованием с классом CThree. Класс CFour должен иметь одно поля, которое выбирается студентом самостоятельно. Для разрабатываемого класса написать конструкторы умолчания, с параметрами и конструктор копирования, деструктор, методы доступа и метод print(). Метод print() в классах CTwo, CThree и CFour должен быть виртуальным. Написать тестовую программу для проверки работоспособности разработанных классов. Разработать глобальную функцию printAll(), имеющую два параметра: массив указателей типа CTwo* и количество элементов в этом массиве int n.

В тестовой программе массив указателей должен быть инициализирован адресами объектов типа CTwo, CThree и CFour.


Лабораторная работа 5 ШАБЛОНЫ КЛАССОВ

В настоящей лабораторной работе необходимо решить две задачи, связанные с организацией шаблонов классов.

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

Лабораторная работа 6 СОЗДАНИЕ ПРОЕКТА С GUI С ИСПОЛЬЗОВАНИЕМ QT

В настоящей лабораторной работе необходимо разработать приложение, обладающее графическим интерфейсом с использованием средств библиотеки Qt.

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

В настоящей лабораторной работе предлагаются две группы задач.

  • в первой группе задач требуется разработать одну из разновидностей калькулятора.
  • Ко второй группе задач относятся задачи, связанные с манипуляцией с содержимым текстового однострочного редактора.

добавить задачт

a

Ссылка на отчёт - Отчёт | Ссылка на док - Документ | Папка - Папка

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages