Отчет по лабораторной работе №2
.docxФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА
Отчет по лабораторной работе №2
«Конструирование простейшего класса»
Цель лабораторной работы:
Познакомиться с основными понятиями объектноориентированного программирования (класс, объект, свойство, метод, конструктор, деструктор), выполнить конструирование класса, предназначенного для хранения заданной структуры данных, изучить способы создания объектов.
Задание:
В работе требуется сконструировать класс с заданным набором свойств. Набор свойств следует взять из лабораторной работы № 1 в соответствии со своим вариантом. В класс также должно быть добавлено достаточное количество методов для просмотра и редактирования значений любого из свойств. Требования к конструированию класса: доступ к свойствам — закрытый, к методам — открытый. В классе следует предусмотреть конструктор по умолчанию, конструктор с параметрами. Действия, выполняемые программой:
1. Создание объекта с помощью конструктора по умолчанию.
2. Создание объекта с помощью конструктора с параметрами.
3. Создание массива объектов.
4. Редактирование и просмотр свойств каждого объекта (можно однократное).
5. Обработка массива объектов в соответствии с заданием лабораторной работы №1.
Ввод исходных данных осуществляется с клавиатуры, вывод на экран.
7 Вариант:
Количество строк: 4. Столбцы: Марка монитора, Максимальное разрешение, Цена. Вычислить среднюю цену.
Ход работы
Данные по умолчанию:
Ввод данных с клавиатуры:
Однократное редактирование данных:
Полученный результат:
Заключение
1. Класс — это пользовательский тип данных, объединяющий данные и алгоритмы для обработки этих данных. Класс моделирует группу каких-либо реальных объектов, процессов и явлений.
2. Класс объединяет данные и программы для их обработки. Это позволяет разбить сложную программу на относительно независимые компоненты. В простых программах они не нужны, но чем сложнее программа, тем важнее становится возможность разбить ее на компоненты.
Примечание
Исходный код:
#include <iostream>
using namespace std;
class Monitor
{ public:
Monitor();
Monitor(string mark,string res,int pr);
~Monitor();
void setMarka(string v);
string getMarka();
void setResolution(string v);
string getResolution();
void setPrice(int v);
int getPrice();
private:
string marka;
string resolution;
int price; };
int main()
{ setlocale(0, "");
Monitor m1;
m1.setMarka("HP");
m1.setResolution("1280x768");
m1.setPrice(2000);
Monitor m2("LG","1280x720",4000);
cout << m1.getMarka() << " " << m1.getResolution() << " " << m1.getPrice() << endl;
cout << m2.getMarka() << " " << m2.getResolution() << " " << m2.getPrice() << endl;
Monitor m3[4];
string MarRes;
int Pri,i;
int c=0;
int sum=0;
int sr;
for (int i=0;i<4;i++)
{cout << "Введите марку монитора" << endl;
cin >> MarRes;
m3[i].setMarka(MarRes);
cout << "Введите разрешение монитора" << endl;
cin >> MarRes;
m3[i].setResolution(MarRes);
cout << "Введите цену монитора" << endl;
cin >> Pri;
m3[i].setPrice(Pri); }
for(int i=0;i<4;i++)
cout << m3[i].getMarka() << " " << m3[i].getResolution() << " " << m3[i].getPrice() << endl;
cout << "Какую строку Вы хотите изменить?" <<endl;
cin >> c;
cout << "Измените параметры:" << endl;
cin >> MarRes;
m3[c-1].setMarka(MarRes);
cin >> MarRes;
m3[c-1].setResolution(MarRes);
cin >> Pri;
m3[c-1].setPrice(Pri);
for(int i=0;i<4;i++)
cout << m3[i].getMarka() << " " << m3[i].getResolution() << " " << m3[i].getPrice() << endl;
for (int i=0;i<4;i++)
sum+=m3[i].getPrice();
sr=sum/4;
cout << "Средняя цена монитора = " << sr << endl;
return 0; }
Monitor::Monitor()
{ marka = "NoMarka";
resolution = "NoResolution";
price = 0; }
Monitor::Monitor(string mark,string res,int pr)
{ marka = mark;
resolution = res;
price = pr; }
Monitor::~Monitor()
{ }
string Monitor::getMarka()
{ return marka; }
void Monitor::setMarka(string v)
{ marka = v; }
string Monitor::getResolution()
{ return resolution; }
void Monitor::setResolution(string v)
{ resolution = v; }
int Monitor::getPrice()
{ return price; }
void Monitor::setPrice(int v)
{ price = v; }