fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. class Triangle{
  5. protected:
  6. double a,b,c;
  7. public:
  8. static int count;
  9. Triangle(double x,double y,double z):a(x),b(y),c(z){
  10. count++;
  11. }//cout<<"constructor Triangle"<<endl;}
  12. double perim(){return a+b+c;}
  13. void print(){cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;}
  14. void print(char ch){cout<<"a="<<a<<ch<<" b="<<b<<ch<<" c="<<c<<endl;}
  15. void print(char ch,char ch1){cout<<"a="<<a<<ch<<" b="<<b<<ch<<" c="<<c<<endl;}
  16. ~Triangle(){}//cout<<"destructor Triangle"<<endl; }
  17. };
  18. class Isosceles:public Triangle{
  19. public:
  20. Isosceles(double x,double y):Triangle(x,y,y){ }//cout<<"constructor Iso"<<endl; }
  21. using Triangle::print;
  22. void print(){cout<<"a="<<a<<" b=c="<<c<<endl; }
  23. ~Isosceles(){}//cout<<"destructor Iso"<<endl;}
  24. };
  25. class Equal: public Isosceles{
  26. public:
  27. Equal(double x):Isosceles(x,x){}
  28. void print(){
  29. cout<<"a=b=c="<<a<<endl;
  30. }
  31. };
  32. int Triangle::count=0;
  33. int main(){
  34. Triangle triangle1(3,4,6);
  35. Isosceles triangle2(3,4);
  36. Equal triangle3(6);
  37.  
  38. triangle1.print();
  39. triangle2.print();
  40. triangle3.print();
  41.  
  42. cout<<triangle1.perim()<<endl;
  43. cout<<triangle2.perim()<<endl;
  44. cout<<triangle3.perim()<<endl;
  45.  
  46. }
  47.  
  48. ///Показати статичні поля int Triangle::count=0;
  49.  
  50. //Завдання 1. Створити клас рівносторонній трикутник Equal спдкоємець класу рівнобедрений трикутник
  51. //з відповідним конструктором. Перегрузити метод print() без параметрів.
  52. //Завдання 2. Створити три трикутники різних типів, викликати для них методи print з параметрами та без.
  53. // Задвання 3. Створити метод пошуку периметра, чи потрібно його перегружати в доірніх класах?
  54. //Викликати метод для об'єктів
  55. //Завдання 4. Викоритовуючи клас Equal зробити відправку задачі контесту на eolymp Рівносторонній трикутник
  56.  
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
a=3 b=4 c=6
a=3 b=c=4
a=b=c=6
13
11
18