#include <iostream>
using namespace std;
class Triangle{
protected:
double a,b,c;
public:
static int count;
Triangle(double x,double y,double z):a(x),b(y),c(z){
count++;
}//cout<<"constructor Triangle"<<endl;}
double perim(){return a+b+c;}
void print(){cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;}
void print(char ch){cout<<"a="<<a<<ch<<" b="<<b<<ch<<" c="<<c<<endl;}
~Triangle(){}//cout<<"destructor Triangle"<<endl; }
};
class Isosceles:public Triangle{
public:
Isosceles(double x,double y):Triangle(x,y,y){ }//cout<<"constructor Iso"<<endl; }
// using Triangle::print;
/*void print(){cout<<"a="<<a<<" b=c="<<c<<endl; }*/
//using Triangle::print;
~Isosceles(){}//cout<<"destructor Iso"<<endl;}
};
class Equilateral: public Isosceles{
public:
using Isosceles::print;
Equilateral(int x): Isosceles(x, x) {}
/*void print(){
cout << "a=b=c= " << a << endl;
}*/
};
int Triangle::count=0;
int main(){
Triangle t(10,1,1),t1(1,2,3),t2(5,6,7);
Isosceles is(2,5),is1(1,2);
Equilateral e(3);
e.print();
e.print('X');
cout << e.perim() << endl;
is.print();
cout<<" "<<is.count<<" "<<t1.count<<endl;
t.perim();
cout<<is.perim()<<endl;
cout<<Triangle::count;
//cout<<Triangle::count;
}
///Показати статичні поля int Triangle::count=0;
//Завдання 1. Створити клас рівносторонній трикутник Equal спдкоємець класу рівнобедрений трикутник
//з відповідним конструктором. Перегрузити метод print() без параметрів.
//Завдання 2. Створити три трикутники різних типів, викликати для них методи print з параметрами та без.
// Задвання 3. Створити метод пошуку периметра, чи потрібно його перегружати в доірніх класах?
//Викликати метод для об'єктів
//Завдання 4. Викоритовуючи клас Equal зробити відправку задачі контесту на eolymp Рівносторонній трикутник
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2xhc3MgVHJpYW5nbGV7CgkJcHJvdGVjdGVkOgoJCQlkb3VibGUgYSxiLGM7CgkJcHVibGljOgoJCQkgc3RhdGljIGludCBjb3VudDsgCgkJCVRyaWFuZ2xlKGRvdWJsZSB4LGRvdWJsZSB5LGRvdWJsZSB6KTphKHgpLGIoeSksYyh6KXsKCQkJCWNvdW50Kys7CgkJCQkJfS8vY291dDw8ImNvbnN0cnVjdG9yIFRyaWFuZ2xlIjw8ZW5kbDt9CgkJCSBkb3VibGUgcGVyaW0oKXtyZXR1cm4gYStiK2M7fQoJCQl2b2lkIHByaW50KCl7Y291dDw8ImE9Ijw8YTw8IiBiPSI8PGI8PCIgYz0iPDxjPDxlbmRsO30KCQkJdm9pZCBwcmludChjaGFyIGNoKXtjb3V0PDwiYT0iPDxhPDxjaDw8IiBiPSI8PGI8PGNoPDwiIGM9Ijw8Yzw8ZW5kbDt9CgkJCX5UcmlhbmdsZSgpe30vL2NvdXQ8PCJkZXN0cnVjdG9yIFRyaWFuZ2xlIjw8ZW5kbDsJfQoJfTsKY2xhc3MgSXNvc2NlbGVzOnB1YmxpYyBUcmlhbmdsZXsKCXB1YmxpYzoKCQlJc29zY2VsZXMoZG91YmxlIHgsZG91YmxlIHkpOlRyaWFuZ2xlKHgseSx5KXsgfS8vY291dDw8ImNvbnN0cnVjdG9yIElzbyI8PGVuZGw7CX0KCS8vCXVzaW5nIFRyaWFuZ2xlOjpwcmludDsKCQkvKnZvaWQgcHJpbnQoKXtjb3V0PDwiYT0iPDxhPDwiIGI9Yz0iPDxjPDxlbmRsOwl9Ki8KCQkvL3VzaW5nIFRyaWFuZ2xlOjpwcmludDsKCQl+SXNvc2NlbGVzKCl7fS8vY291dDw8ImRlc3RydWN0b3IgSXNvIjw8ZW5kbDt9Cn07CQoKY2xhc3MgRXF1aWxhdGVyYWw6IHB1YmxpYyBJc29zY2VsZXN7CiAgICAgcHVibGljOiAKICAgICB1c2luZyBJc29zY2VsZXM6OnByaW50OwogICAgIEVxdWlsYXRlcmFsKGludCB4KTogSXNvc2NlbGVzKHgsIHgpIHt9CiAgICAgLyp2b2lkIHByaW50KCl7CiAgICAgY291dCA8PCAiYT1iPWM9ICIgPDwgYSA8PCBlbmRsOwogICAgIH0qLwp9OwppbnQgVHJpYW5nbGU6OmNvdW50PTA7CmludCBtYWluKCl7CgoJVHJpYW5nbGUgdCgxMCwxLDEpLHQxKDEsMiwzKSx0Mig1LDYsNyk7CglJc29zY2VsZXMgaXMoMiw1KSxpczEoMSwyKTsKICAgIEVxdWlsYXRlcmFsIGUoMyk7CiAgICBlLnByaW50KCk7CiAgICBlLnByaW50KCdYJyk7CiAgICBjb3V0IDw8IGUucGVyaW0oKSA8PCBlbmRsOwoJaXMucHJpbnQoKTsKCWNvdXQ8PCIgIjw8aXMuY291bnQ8PCIgIjw8dDEuY291bnQ8PGVuZGw7Cgl0LnBlcmltKCk7Cgljb3V0PDxpcy5wZXJpbSgpPDxlbmRsOwoJY291dDw8VHJpYW5nbGU6OmNvdW50OwoJLy9jb3V0PDxUcmlhbmdsZTo6Y291bnQ7Cn0KCi8vL9Cf0L7QutCw0LfQsNGC0Lgg0YHRgtCw0YLQuNGH0L3RliDQv9C+0LvRjyBpbnQgVHJpYW5nbGU6OmNvdW50PTA7CgovL9CX0LDQstC00LDQvdC90Y8gMS4g0KHRgtCy0L7RgNC40YLQuCDQutC70LDRgSDRgNGW0LLQvdC+0YHRgtC+0YDQvtC90L3RltC5INGC0YDQuNC60YPRgtC90LjQuiBFcXVhbCDRgdC/0LTQutC+0ZTQvNC10YbRjCDQutC70LDRgdGDINGA0ZbQstC90L7QsdC10LTRgNC10L3QuNC5INGC0YDQuNC60YPRgtC90LjQugovL9C3INCy0ZbQtNC/0L7QstGW0LTQvdC40Lwg0LrQvtC90YHRgtGA0YPQutGC0L7RgNC+0LwuINCf0LXRgNC10LPRgNGD0LfQuNGC0Lgg0LzQtdGC0L7QtCBwcmludCgpINCx0LXQtyDQv9Cw0YDQsNC80LXRgtGA0ZbQsi4KLy/Ql9Cw0LLQtNCw0L3QvdGPIDIuINCh0YLQstC+0YDQuNGC0Lgg0YLRgNC4INGC0YDQuNC60YPRgtC90LjQutC4INGA0ZbQt9C90LjRhSDRgtC40L/RltCyLCDQstC40LrQu9C40LrQsNGC0Lgg0LTQu9GPINC90LjRhSDQvNC10YLQvtC00LggcHJpbnQg0Lcg0L/QsNGA0LDQvNC10YLRgNCw0LzQuCDRgtCwINCx0LXQty4KLy8g0JfQsNC00LLQsNC90L3RjyAzLiDQodGC0LLQvtGA0LjRgtC4INC80LXRgtC+0LQg0L/QvtGI0YPQutGDINC/0LXRgNC40LzQtdGC0YDQsCwg0YfQuCDQv9C+0YLRgNGW0LHQvdC+INC50L7Qs9C+INC/0LXRgNC10LPRgNGD0LbQsNGC0Lgg0LIg0LTQvtGW0YDQvdGW0YUg0LrQu9Cw0YHQsNGFPyAKLy/QktC40LrQu9C40LrQsNGC0Lgg0LzQtdGC0L7QtCDQtNC70Y8g0L7QsSfRlNC60YLRltCyCi8v0JfQsNCy0LTQsNC90L3RjyA0LiDQktC40LrQvtGA0LjRgtC+0LLRg9GO0YfQuCDQutC70LDRgSBFcXVhbCDQt9GA0L7QsdC40YLQuCDQstGW0LTQv9GA0LDQstC60YMg0LfQsNC00LDRh9GWINC60L7QvdGC0LXRgdGC0YMg0L3QsCBlb2x5bXAg0KDRltCy0L3QvtGB0YLQvtGA0L7QvdC90ZbQuSDRgtGA0LjQutGD0YLQvdC40LoK