#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;}
void print(char ch,char ch1){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; }
~Isosceles(){}//cout<<"destructor Iso"<<endl;}
};
class Equal:public Isosceles{
public:
Equal(double x):Isosceles(x,x){}
using Triangle::print;
void print(){cout<<"a=b=c"<<a<<endl;}
~Equal(){}//cout<<"destructor Iso"<<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);
Equal b(1);
is.print();
is1.print(',','g');
cout<<" "<<is.count<<" "<<t1.count<<endl;
t.perim();
cout<<b.perim()<<endl;
b.print();
cout<<is.perim()<<endl;
cout<<Triangle::count;
}
///Показати статичні поля int Triangle::count=0;
//Завдання 1. Створити клас рівносторонній трикутник Equal спдкоємець класу рівнобедрений трикутник
//з відповідним конструктором. Перегрузити метод print() без параметрів.
//Завдання 2. Створити три трикутники різних типів, викликати для них методи print з параметрами та без.
// Задвання 3. Створити метод пошуку периметра, чи потрібно його перегружати в доірніх класах?
//Викликати метод для об'єктів
//Завдання 4. Викоритовуючи клас Equal зробити відправку задачі контесту на eolymp Рівносторонній трикутник
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2xhc3MgVHJpYW5nbGV7Cglwcm90ZWN0ZWQ6CgkJZG91YmxlIGEsYixjOwoJcHVibGljOgoJc3RhdGljIGludCBjb3VudDsgCgkJVHJpYW5nbGUoZG91YmxlIHgsZG91YmxlIHksZG91YmxlIHopOmEoeCksYih5KSxjKHopewoJCQljb3VudCsrOwoJCX0vL2NvdXQ8PCJjb25zdHJ1Y3RvciBUcmlhbmdsZSI8PGVuZGw7fQoJCWRvdWJsZSBwZXJpbSgpe3JldHVybiBhK2IrYzt9CgkJdm9pZCBwcmludCgpe2NvdXQ8PCJhPSI8PGE8PCIgYj0iPDxiPDwiIGM9Ijw8Yzw8ZW5kbDt9CgkJdm9pZCBwcmludChjaGFyIGNoKXtjb3V0PDwiYT0iPDxhPDxjaDw8IiBiPSI8PGI8PGNoPDwiIGM9Ijw8Yzw8ZW5kbDt9CgkJdm9pZCBwcmludChjaGFyIGNoLGNoYXIgY2gxKXtjb3V0PDwiYT0iPDxhPDxjaDw8IiBiPSI8PGI8PGNoPDwiIGM9Ijw8Yzw8ZW5kbDt9CgkJflRyaWFuZ2xlKCl7fS8vY291dDw8ImRlc3RydWN0b3IgVHJpYW5nbGUiPDxlbmRsOwl9Cn07CmNsYXNzIElzb3NjZWxlczpwdWJsaWMgVHJpYW5nbGV7CglwdWJsaWM6CgkJSXNvc2NlbGVzKGRvdWJsZSB4LGRvdWJsZSB5KTpUcmlhbmdsZSh4LHkseSl7IH0vL2NvdXQ8PCJjb25zdHJ1Y3RvciBJc28iPDxlbmRsOwl9CgkJdXNpbmcgVHJpYW5nbGU6OnByaW50OwoJdm9pZCBwcmludCgpe2NvdXQ8PCJhPSI8PGE8PCIgYj1jPSI8PGM8PGVuZGw7CX0KCQl+SXNvc2NlbGVzKCl7fS8vY291dDw8ImRlc3RydWN0b3IgSXNvIjw8ZW5kbDt9Cn07CmNsYXNzIEVxdWFsOnB1YmxpYyBJc29zY2VsZXN7CglwdWJsaWM6CglFcXVhbChkb3VibGUgeCk6SXNvc2NlbGVzKHgseCl7fQoJdXNpbmcgVHJpYW5nbGU6OnByaW50OwoJdm9pZCBwcmludCgpe2NvdXQ8PCJhPWI9YyI8PGE8PGVuZGw7fQoJfkVxdWFsKCl7fS8vY291dDw8ImRlc3RydWN0b3IgSXNvIjw8ZW5kbDt9Cn07CmludCBUcmlhbmdsZTo6Y291bnQ9MDsKaW50IG1haW4oKXsKCVRyaWFuZ2xlIHQoMTAsMSwxKSx0MSgxLDIsMyksdDIoNSw2LDcpOwoJSXNvc2NlbGVzIGlzKDIsNSksaXMxKDEsMik7CglFcXVhbCBiKDEpOwoJaXMucHJpbnQoKTsKCWlzMS5wcmludCgnLCcsJ2cnKTsKCWNvdXQ8PCIgIjw8aXMuY291bnQ8PCIgIjw8dDEuY291bnQ8PGVuZGw7Cgl0LnBlcmltKCk7Cgljb3V0PDxiLnBlcmltKCk8PGVuZGw7CgliLnByaW50KCk7Cgljb3V0PDxpcy5wZXJpbSgpPDxlbmRsOwoJY291dDw8VHJpYW5nbGU6OmNvdW50OwoJCn0KCi8vL9Cf0L7QutCw0LfQsNGC0Lgg0YHRgtCw0YLQuNGH0L3RliDQv9C+0LvRjyBpbnQgVHJpYW5nbGU6OmNvdW50PTA7CgovL9CX0LDQstC00LDQvdC90Y8gMS4g0KHRgtCy0L7RgNC40YLQuCDQutC70LDRgSDRgNGW0LLQvdC+0YHRgtC+0YDQvtC90L3RltC5INGC0YDQuNC60YPRgtC90LjQuiBFcXVhbCDRgdC/0LTQutC+0ZTQvNC10YbRjCDQutC70LDRgdGDINGA0ZbQstC90L7QsdC10LTRgNC10L3QuNC5INGC0YDQuNC60YPRgtC90LjQugovL9C3INCy0ZbQtNC/0L7QstGW0LTQvdC40Lwg0LrQvtC90YHRgtGA0YPQutGC0L7RgNC+0LwuINCf0LXRgNC10LPRgNGD0LfQuNGC0Lgg0LzQtdGC0L7QtCBwcmludCgpINCx0LXQtyDQv9Cw0YDQsNC80LXRgtGA0ZbQsi4KLy/Ql9Cw0LLQtNCw0L3QvdGPIDIuINCh0YLQstC+0YDQuNGC0Lgg0YLRgNC4INGC0YDQuNC60YPRgtC90LjQutC4INGA0ZbQt9C90LjRhSDRgtC40L/RltCyLCDQstC40LrQu9C40LrQsNGC0Lgg0LTQu9GPINC90LjRhSDQvNC10YLQvtC00LggcHJpbnQg0Lcg0L/QsNGA0LDQvNC10YLRgNCw0LzQuCDRgtCwINCx0LXQty4KLy8g0JfQsNC00LLQsNC90L3RjyAzLiDQodGC0LLQvtGA0LjRgtC4INC80LXRgtC+0LQg0L/QvtGI0YPQutGDINC/0LXRgNC40LzQtdGC0YDQsCwg0YfQuCDQv9C+0YLRgNGW0LHQvdC+INC50L7Qs9C+INC/0LXRgNC10LPRgNGD0LbQsNGC0Lgg0LIg0LTQvtGW0YDQvdGW0YUg0LrQu9Cw0YHQsNGFPyAKLy/QktC40LrQu9C40LrQsNGC0Lgg0LzQtdGC0L7QtCDQtNC70Y8g0L7QsSfRlNC60YLRltCyCi8v0JfQsNCy0LTQsNC90L3RjyA0LiDQktC40LrQvtGA0LjRgtC+0LLRg9GO0YfQuCDQutC70LDRgSBFcXVhbCDQt9GA0L7QsdC40YLQuCDQstGW0LTQv9GA0LDQstC60YMg0LfQsNC00LDRh9GWINC60L7QvdGC0LXRgdGC0YMg0L3QsCBlb2x5bXAg0KDRltCy0L3QvtGB0YLQvtGA0L7QvdC90ZbQuSDRgtGA0LjQutGD0YLQvdC40LoK