/
Mihail05
/
inheritance
Обзор
Документация
Войти
/
Mihail05
/
inheritance
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
2
172 строки
5 KB
Mihail05
update: 2
27 мар 2026, 23:13
Верифицирован
27 мар 2026, 23:13
e10f5b7
Код
Авторство
О чём код?
#include <iostream> using namespace std; // Базовый класс для фигур class Figure { public: int print_info() {} }; // Класс для Четырёхугольника/Четырёхугольников class Quadrilateral : public Figure { private: int a, b, c, d; // Стороны int A, B, C, D; // Углы public: // Конструктор для инициализации значений сторон и углов Quadrilateral(int _side1, int _side2, int _side3, int _side4, int _angle1, int _angle2, int _angle3, int _angle4) : a(_side1), b(_side2), c(_side3), d(_side4), A(_angle1), B(_angle2), C(_angle3), D(_angle4) { } Quadrilateral() : Quadrilateral(10, 20, 30, 40, 50, 60, 70, 80) {} void print_info() const { cout << "Стороны: a=" << a << " b=" << b << " c=" << c << " d=" << d << endl; cout << "Углы: A=" << A << " B=" << B << " C=" << C << " D=" << D << endl; } // Методы для доступа к полям int getSide1() const { return a; } // Для сторон int getSide2() const { return b; } int getSide3() const { return c; } int getSide4() const { return d; } int getAngle1() const { return A; } // Для углов int getAngle2() const { return B; } int getAngle3() const { return C; } int getAngle4() const { return D; } }; // Класс для Параллелограмма class Parallelogram : public Quadrilateral { public: Parallelogram() : Quadrilateral(20, 30, 20, 30, 30, 40, 30, 40) {} }; // Класс для Прямоугольника class Rectangle : public Quadrilateral { public: Rectangle() : Quadrilateral(10, 25, 10, 20, 90, 90, 90, 90) {} }; // Класс для Ромба class Rhomb : public Quadrilateral { public: Rhomb() : Quadrilateral(30, 30, 30, 30, 30, 40, 30, 40) {} }; // Класс для Квадрата class Square : public Quadrilateral { public: Square() : Quadrilateral(20, 20, 20, 20, 90, 90, 90, 90) {} }; ////////////////////////////////////////////////////////////////////////////////////// // Класс для треугольника/треугольников class Triangle : public Figure { protected: int a, b, c; // Переменная для сторон int A, B, C; // Переменная для углов public: Triangle(int _side1, int _side2, int _side3, int _angle1, int _angle2, int _angle3) : a(_side1), b(_side2),c(_side3), A(_angle1), B(_angle2), C(_angle3) {} Triangle() : Triangle(10, 20, 30, 40, 50, 60) {} void print_info() const { cout << "Стороны: a=" << a << " b=" << b << " c=" << c << endl; cout << "Углы: A=" << A << " B=" << B << " C=" << C << endl; } // Методы для доступа к полям int getSide1() const { return a; } // Для сторон int getSide2() const { return b; } int getSide3() const { return c; } int getAngle1() const { return A; } // Для углов int getAngle2() const { return B; } int getAngle3() const { return C; } }; // Класс для Прямоугольного треугольника class Rectangular : public Triangle { public: Rectangular() : Triangle(10, 20, 30, 30, 60, 90) {} }; // Класс для Равнобедренного треугольника class Isosceles : public Triangle { public: Isosceles() : Triangle(20, 20, 30, 70, 70, 40) {} }; // Класс для Равностороннего треугольника class Equilateral : public Triangle { public: Equilateral() : Triangle(10, 10, 10, 60, 60, 60) {} }; //////////////////////////////////////////////////////////////////// int main() { setlocale(LC_ALL, "RU"); // Проводник для четырёх угольников Quadrilateral access1; Rectangle access2; Square access3; Parallelogram access4; Rhomb access5; // Проводник для треугольников Triangle help1; Rectangular help2; Isosceles help3; Equilateral help4; cout << "Четырёхугольник:" << endl; access1.print_info(); cout << endl; cout << "Прямоугольник:" << endl; access2.print_info(); cout << endl; cout << "Квадрат:" << endl; access3.print_info(); cout << endl; cout << "Параллелограмм:" << endl; access4.print_info(); cout << endl; cout << "Ромб:" << endl; access5.print_info(); cout << endl; cout << "Треугольник: " << endl; help1.print_info(); cout << endl; cout << "Прямоугольник: " << endl; help2.print_info(); cout << endl; cout << "Равнобедренный: " << endl; help3.print_info(); cout << endl; cout << "Равносторонний: " << endl; help4.print_info(); cout << endl; return 0; }