Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Классы в Си++

Автор:   •  Июнь 7, 2022  •  Лабораторная работа  •  1,114 Слов (5 Страниц)  •  127 Просмотры

Страница 1 из 5

Министерство науки и высшего образования Российской Федерации

 Кафедра «Информационная безопасность систем и технологий»

 

 

 

 

 

ОТЧЕТ  о лабораторной работе №4

«Классы в Си++ »

 

 

 

 

 

 

Дисциплина: Языки программирования

Группа: 20ПИ1 Выполнил:

Количество баллов:

 Дата сдачи:

Принял:

 

 

 

 

 

 

2021

  1. Цель работы
  1. Освоить создание классов в программах на Си++, работу с конструкторами и деструкторами классов, перегрузку операторов для классов.
  1. Задание к практической работе
  1. Реализовать класс String с конструктором по умолчанию, конструктором копирования, деструктором и перегруженным оператором operator<< для вывода строки в поток.
  2. Добавить к реализации класса конструктор инициализации Си-строкой.
  3. Написать программу для работы с классом String, демонстрирующую его возможности.
  4. Добавить к реализации класса перегруженный operator>>, позволяющий вводить значения строки из потока ввода. Модифицировать программу для демонстрации возможностей оператора.
  5. Добавить к реализации класса перегруженные операторы присваивания и унарного минуса. Модифицировать программу для демонстрации возможностей операторов.
  6. . Добавить к реализации класса еще один перегруженный бинарный operator+ для выполнения операции конкатенации (сцепления) двух строк.

Модифицировать программу для демонстрации возможностей оператора.

  1. Результаты работы
  1. Был реализован класс String с конструктором по умолчанию, конструктором копирования, деструктором и перегруженным оператором operator<< для вывода строки в поток.  Текст методов показан на рисунке 1.

[pic 1] 

Рисунок 1- методы класса  String

  1. К реализации класса был добавлен конструктор инициализации Систрокой, изображенный на рисунке 2.

[pic 2] 

Рисунок 2 - конструктор инициализации Си-строкой

  1. Для демонстрации возможностей класса String была написана программа. Её текст показан на рисунке 3. Результат выполнения программы изображен на рисунке 4.

[pic 3] 

Рисунок 3 - код программы, показывающей возможности класса String

[pic 4] 

Рисунок 4 - результаты программы

  1. Был добавлен перегруженный operator>>, позволяющий вводить значения строки из потока ввода. При реализации оператора ввода допускалось то, что длина вводимой строки будет не больше 10000 символов. Текст оператора ввода изображен на рисунке 5.

[pic 5] 

Рисунок 5 - перегруженный оператор ввода

  1. Были добавлены перегруженные операторы присваивания и унарного минуса. Код операторов показан на рисунке 6.

[pic 6] 

Рисунок 6 - операторы присваивания и унарного минуса

  1. Был добавлен к реализации класса еще один перегруженный бинарный operator+ для выполнения операции конкатенации двух строк. Он изображен на рисунке 7. Программа для демонстрации возможностей оператора была модифицирована для демонстрации возможностей операторов, добавленных в предыдущих пунктах. Текст программы находится в приложении А. Результат выполнения программы показан на рисунке 8.

[pic 7] 

Рисунок 7 - оператор конкатенации

[pic 8] 

Рисунок 8 - результат работы модифицированной программы

  1. Вывод: был создан класс в программе на Си++. Была освоена работа с деструкторами и конструктами классов, также были получены навыки в области перегрузки операторов класса.

ПРИЛОЖЕНИЕ А

ТЕКСТ ПРОГРАММЫ, ДЕМОНСТРИРУЮЩЕЙ ВОЗМОЖНОСТИ КЛАССА STRING

#include<iostream> #include<cstring> using namespace std;

 

class String

{

    char * val;     int len;

 public:

 

    String();     ~String();

...

Скачать:   txt (8.2 Kb)   pdf (193.5 Kb)   docx (120 Kb)  
Продолжить читать еще 4 страниц(ы) »
Доступно только на Essays.club