прямоугольный треугольник (угол C всегда равен 90);
равнобедренный треугольник (стороны a и c равны, углы A и C равны);
равносторонний треугольник (все стороны равны, все углы равны 60);
#include <iostream>
using namespace std;
class triangle {
private:
string ShapeName; int a = 0, b = 0, c = 0, A = 0, B = 0, C = 0;
public:
triangle(){}
triangle(string _ShapeName, int _a, int _b, int _c, int _A, int _B, int _C) : ShapeName(_ShapeName), a(_a),
b(_b), c(_c), A(_A), B(_B), C(_C){}
string Shape_Name() { return ShapeName; }
int a1() { return a; }
int b1() { return b; }
int c1() { return c; }
int A1() { return A; }
int B1() { return B; }
int C1() { return C; }
<b>bool get_c1(int _c){
if (_с == 30 && _с == 10) { c = _с; return true; }
else cout << "Некорректный ввод"; return false;
}</b> // как создать функцию которая не позволит создавать не подходящие по условию треугольники
void print_info(string ShapeName, int a, int b, int c, int A, int B, int C) {
cout << "" << ShapeName << ":" << "\nСтороны: " << "a=" << a << " b=" << b << " c=" << c
<< "\nУглы: " << "A=" << A << " B=" << B << " C=" << C << endl;
}
};
class right_triangle : public triangle{};
class isosceles_triangle : public right_triangle{};
class equilateral_triangle : public isosceles_triangle{};
int main()
{
setlocale(LC_ALL, "Russian");
triangle* ta;
triangle obj1;
right_triangle obj2;
isosceles_triangle obj3;
equilateral_triangle obj4;
ta = &obj1;
ta = &obj2;
ta = &obj3;
ta = &obj4;
obj1.print_info("Треугольник", 10, 20, 30, 50, 60, 70);
cout << endl;
obj2.print_info("Прямоугольный треугольник", 10, 20, 30, 50, 60, 90);
cout << endl;
obj3.print_info("Равнобедренный треугольник", 10, 20, 10, 50, 60, 50);
cout << endl;
obj4.print_info("Равносторонний треугольник", 30, 30, 30, 60, 60, 60);
}