Основы объектно-ориентированного программирования на языке C++
Автор: Dopee • Июнь 2, 2023 • Лабораторная работа • 887 Слов (4 Страниц) • 168 Просмотры
Задание:
Напишите программу, в которой создается класс для описания такого объекта, как «параллелепипед». У класса три поля: ширина, глубина и высота, а также методы для вычисления объема (произведение значений полей объекта) и площади поверхности. Предусмотреть наличие конструктора по умолчанию и с параметрами, а также метода для отображения характеристик объекта. Создать дружественную функцию для вычисления массы тела, имеющего форму параллелепипеда (масса тела равна произведению плотности на объем). Добавить в класс операторный метод сравнения (= = или !=).
Листинг разработанной программы:
#include <iostream>
using namespace std;
// Создание класса "Параллелепипед"
class figure {
private:
double a; // Длина
double b; // Ширина
double c; // Высота
public:
// Конструктор по умолчанию
figure() {
a = 0;
b = 0;
c = 0;
}
//Конструктор с параметрами
figure(double a, double b, double c) {
this->a = a;
this->b = b;
this->c = c;
}
// Перегрузка операции равенства
bool operator == (const figure& y) {
return this->a == y.a;
}
// Дружественная функция для вычисления массы тела, имеющего форму параллелепипеда
friend int massa(figure, figure, figure);
void getAll(); // Метод для отображения характеристик объекта (вывод данных)
double V(); // Метод для вычисления объёма
double S(); // Метод для вычисления площади поверхности
};
int main() {
setlocale(LC_ALL, "Russian");
// Создание двух параллелепипедов
figure f1 = figure(4, 5, 10);
figure f2 = figure(3, 7, 6);
// Вывод в консоль
cout << "Первый параллелепипед:" << endl;
f1.getAll();
cout << "Объём: " << f1.V() << endl;
cout << "Площадь поверхности: " << f1.S() << endl << endl;
...