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. ~Triangle(){}//cout<<"destructor Triangle"<<endl; }
  16. };
  17. class Isosceles:public Triangle{
  18. public:
  19. Isosceles(double x,double y):Triangle(x,y,y){ }//cout<<"constructor Iso"<<endl; }
  20. // using Triangle::print;
  21. /*void print(){cout<<"a="<<a<<" b=c="<<c<<endl; }*/
  22. //using Triangle::print;
  23. ~Isosceles(){}//cout<<"destructor Iso"<<endl;}
  24. };
  25.  
  26. class Equilateral: public Isosceles{
  27. public:
  28. using Isosceles::print;
  29. Equilateral(int x): Isosceles(x, x) {}
  30. /*void print(){
  31.   cout << "a=b=c= " << a << endl;
  32.   }*/
  33. };
  34. int Triangle::count=0;
  35. int main(){
  36.  
  37. Triangle t(10,1,1),t1(1,2,3),t2(5,6,7);
  38. Isosceles is(2,5),is1(1,2);
  39. Equilateral e(3);
  40. e.print();
  41. e.print('X');
  42. cout << e.perim() << endl;
  43. is.print();
  44. cout<<" "<<is.count<<" "<<t1.count<<endl;
  45. t.perim();
  46. cout<<is.perim()<<endl;
  47. cout<<Triangle::count;
  48. //cout<<Triangle::count;
  49. }
  50.  
  51. ///Показати статичні поля int Triangle::count=0;
  52.  
  53. //Завдання 1. Створити клас рівносторонній трикутник Equal спдкоємець класу рівнобедрений трикутник
  54. //з відповідним конструктором. Перегрузити метод print() без параметрів.
  55. //Завдання 2. Створити три трикутники різних типів, викликати для них методи print з параметрами та без.
  56. // Задвання 3. Створити метод пошуку периметра, чи потрібно його перегружати в доірніх класах?
  57. //Викликати метод для об'єктів
  58. //Завдання 4. Викоритовуючи клас Equal зробити відправку задачі контесту на eolymp Рівносторонній трикутник
  59.  
Success #stdin #stdout 0.01s 5268KB
stdin
Standard input is empty
stdout
a=3 b=3 c=3
a=3X b=3X c=3
9
a=2 b=5 c=5
 6 6
12
6