
Лабораторные работы / лабы ооп / ooп_3_отчёт вар 9
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
“ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ”
Кафедра “Информатика и вычислительная техника”
ОТЧЕТ
по лабораторной работе ООП №3
“НАСЛЕДОВАНИЕ”
Выполнил:
Студент группы ИВТ-234 Кукушкина А.А.
_____________________________________________________
(дата, подпись)
Проверил:
ст. пр. доцент Дорошенко М.С.
_____________________________________________________
(дата, подпись)
Омск 2024
Лабораторная работа ООП №3
Тема: Наследование
Вариант 9
Задание 1
Условие задачи:
Создать класс-родитель «строка» и класс-родитель «окно»; из этих двух классов получить окно со строкой (вывести на экран, изменить строку, размеры окна).
Текст программы:
#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;
class String {
protected:
string text;
public:
String(string str) : text(str) {}
void setText(string str) {
text = str;
}
string getText() {
return text;
}
};
class Window {
protected:
int width;
int height;
public:
Window(int w, int h) : width(w), height(h) {}
void setSize(int w, int h) {
width = w;
height = h;
}
void display() {
cout << "Размер окна: " << width << " x " << height << endl;
}
};
class WindowWithString : public Window, public String {
public:
WindowWithString(string str, int w, int h) : String(str), Window(w, h) {}
void display() {
cout << "Размер окна: " << width << " x " << height << endl;
cout << "Текст: " << text << endl;
}
};
int main() {
setlocale(LC_ALL, "ru");
SetConsoleCP(1251);
string inputText;
int inputWidth, inputHeight;
cout << "Введите текст для отображения в окне: ";
getline(cin, inputText);
cout << "Введите ширину окна: ";
cin >> inputWidth;
cout << "Введите высоту окна: ";
cin >> inputHeight;
WindowWithString window(inputText, inputWidth, inputHeight);
window.display();
// Изменение текста
string newText;
cout << "Введите новый текст для отображения в окне: ";
cin.ignore();
getline(cin, newText);
window.setText(newText);
window.display();
// Изменение размеров окна
int newWidth, newHeight;
cout << "Введите новую ширину окна: ";
cin >> newWidth;
cout << "Введите новую высоту окна: ";
cin >> newHeight;
window.setSize(newWidth, newHeight);
window.display();
return 0;
}
Результаты выполнения программы, выводы: