
Лабораторные работы / лабы ооп / ooп_2_отчёт вар 9
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
“ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ”
Кафедра “Информатика и вычислительная техника”
ОТЧЕТ
по лабораторной работе ООП №2
“КОНСТРУКТОРЫ И ДЕСТРУКТОРЫ”
Выполнил:
Студент группы ИВТ-234 Кукушкина А.А.
_____________________________________________________
(дата, подпись)
Проверил:
ст. пр. доцент Дорошенко М.С.
_____________________________________________________
(дата, подпись)
Омск 2024
Лабораторная работа ООП №2
Тема: Конструкторы и деструкторы
Вариант 9
Задание 1
Условие задачи:
Создайте класс prompt. Введите в него конструктор, который выводит на экран приглашение (строку) и затем позволяет ввести целые числа. Класс должен выделить память под строки с длинами, равными введенным целым числам, и случайным образом заполнить их. Функция-член op() должна сформировать новую строку и заполнить ее поочередно символами первой и второй строк.
Текст программы:
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
class Prompt
{
private:
string str1;
string str2;
public:
Prompt()
{
cout << "Введите первое целое число: ";
int num1;
cin >> num1;
cout << "Введите второе целое число: ";
int num2;
cin >> num2;
str1.resize(num1);
str2.resize(num2);
srand(time(NULL));
for (int i = 0; i < num1; i++)
{
str1[i] = rand() % 26 + 'a';
}
for (int i = 0; i < num2; i++)
{
str2[i] = rand() % 26 + 'a';
}
}
string op()
{
string result;
int index1 = 0;
int index2 = 0;
while (index1 < str1.length() || index2 < str2.length())
{
if (index1 < str1.length())
{
result += str1[index1];
index1++;
}
if (index2 < str2.length())
{
result += str2[index2];
index2++;
}
}
return result;
}
};
int main()
{
setlocale(LC_ALL, "ru");
Prompt prompt;
string result = prompt.op();
cout << "Результат операции op(): " << result << endl;
return 0;
}
Результаты выполнения программы, выводы: