Разработка объектно-ориентированной программы
Министерство
науки и образования Российской Федерации
Муромский
институт (филиал)
Государственного
образовательного учреждения высшего профессионального образования
«Владимирский
государственный университет имени Александра Григорьевича и Николая Григорьевича
Столетовых»
ЛАБОРАТОРНАЯ
РАБОТА
Технология
программирования.
Тема:
Разработка объектно-ориентированной программы.
Руководитель Стародубов Д.Н.
Студент ИС-112 Логашов Д.С.
Муром
2012
Цель работы: Изучение базовых понятий
объектно-ориентированного программирования (понятий класса и объекта),
принципов работы с классами и объектами. Получение навыков в составлении
программ на основе объектно-ориентированного программирования.
Вариант 1. Построить систему классов для
описания плоских геометрических фигур: круг, квадрат, прямоугольник.
Предусмотреть методы для создания объектов, перемещения на плоскости. Написать
программу, демонстрирующую работу с этими классами. Использовать конструктор и
методы класса.
#include<iostream>
#include<math.h>namespace
std;Square
{:ldX;ldY;length;(float ldX = 0,
float ldY = 0,float length = 2 )
{>ldX = ldX;>ldY =
ldY;>length = length;
}area_sqr()
{length*length;
}moveTo(float X,float Y)
{= X;= Y;
{length*4;
}diagonal_sqr()
{sqrt(length*length*2);
}
};Rectangle
{:ldX;ldY;length_A;length_B;(float
ldX = 0, float ldY = 0, float length_A = 2, float length_B = 1 )
{>ldX = ldX;>ldY =
ldY;>length_A = length_A;>length_B = length_B;
}area_rec()
{length_A*length_B;
}moveTo(float X,float Y)
{= X;= Y;
}perim_rec()
{(length_A + length_B)*2 ;
}diagonal_rec()
{sqrt(length_A*length_A +
length_B*length_B);
}
};Circle
{:X;Y;R;(float x = 0, float y = 0,
float r = 1 )
{>X = x;>Y = y;>R = r;
}moveTo(float x,float y)
}area_crl()
{3,14*R*R;
}perim_crl()
{2*3,14*R;
}
};main()
{(LC_ALL, "Russian");
{
//работа с классом квадрат;
float
sqr_x,
sqr_y,
sqr_len;<<
"Введите координаты левого угла квадрата X и Y: ";
cin >> sqr_x >> sqr_y ;
cout << "Введите длинну ребра:
";>> sqr_len;(sqr_len <= 0)("Длинна ребра должна быть больше
нуля!");
Square
sqr(sqr_x,sqr_y,sqr_len);.precision(2);<< "Периметр
квадрата:
" << fixed << sqr.perim_sqr()
<< "\nПлощадь
квадрата:
" << fixed << sqr.area_sqr()
<< "\nДиагональ
квадрата:
" << fixed << sqr.diagonal_sqr();
cout << "\nВведите координаты для
перемещения квадрата: ";
cin >> sqr_x >>
sqr_y;.moveTo(sqr_x, sqr_y);<< "Координаты
угла
X: " << sqr.ldX << " Y: " << sqr.ldY <<
endl;
//работа
с
классом
прямоугольникrec_x,
rec_y, rec_len_A, rec_len_B;
cout << "\nВведите координаты левого
угла прямоугольника X и Y:";
cin >> rec_x >> rec_y;
cin>> rec_len_A >>
rec_len_B;(rec_len_A <= 0 || rec_len_B <= 0)
throw ("Длинна рёбер должна быть больше
нуля!");
Rectangle rec(rec_x, rec_y,
rec_len_A, rec_len_B);
cout << "Периметр прямоугольника:
" << fixed << rec.perim_rec()
<< "\nПлощадь прямоугольника: "
<< fixed << rec.area_rec()
<< "\nДиагональ прямоугольника:
" << fixed << rec.diagonal_rec() ;<< "\nВведите
координаты для перемещения прямоугольника: ";
cin >> rec_x >> rec_y;.moveTo(rec_x,
rec_y);<< "Координаты
угла
X: " << rec.ldX << " Y: " << rec.ldY <<
endl;
//работа с классом кругX, Y, R;<<
"\nВведите координаты центра круга X и Y: ";>> X >> Y
;<< "Введите длинну радиуса: ";>> R;(R <=
0)("Длинна ребра должна быть больше нуля!");
Circle crl( X, Y, R);<< "Периметр
круга:
" << fixed << crl.perim_crl()
<< "\nПлощадь
круга:
" << fixed << crl.area_crl();
cout << "\nВведите координаты для
перемещения круга: ";
cin >> X >> Y;.moveTo(X,
Y);<< "Координаты
центра
X: " << crl.X << " Y: " << crl.Y <<
endl;
}(const char* error)
{<< error << endl;
}("Pause");
}
программирование объектный ориентированный плоскость
Тест программы
В данной работе я научился работать с классами и
его объектами, были получены понятия методы классы , конструктор и деструктор.