Свойство и System.StackOverflowException - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Простое задание на наследование. Всё вроде как понятно, но выпадает ошибка System.StackOverflowException. Пытался добавлять например в Square еще private int perimetr , и его уже записывать в свойство, но тогда значение у меня всегда 0. Подскажите, в чем проблема?
Листинг программы
  1. class Square
  2. {
  3. public int a;
  4. public Square (int a)
  5. {
  6. this.a = a;
  7. }
  8. public int Perimetr
  9. {
  10. set
  11. {
  12. Perimetr = a * 2;
  13. }
  14. get
  15. {
  16. return Perimetr;
  17. }
  18. }
  19. }
  20. class Rectangle : Square
  21. {
  22. public int b;
  23. public Rectangle(int a, int b)
  24. :base (a)
  25. {
  26. this.b = b;
  27. }
  28. public new int Perimetr
  29. {
  30. get
  31. {
  32. return Perimetr;
  33. }
  34. set
  35. {
  36. Perimetr = (a * 2) + (b * 2);
  37. }
  38. }
  39. }
  40. class Demo
  41. {
  42. static void Main()
  43. {
  44. int tempA;
  45. int tempB;
  46. Console.WriteLine("Please enter figure side A");
  47. tempA = Convert.ToInt32(Console.ReadLine());
  48. Console.WriteLine("Please enter figure side B");
  49. tempB = Convert.ToInt32(Console.ReadLine());
  50. if (tempA == tempB)
  51. {
  52. Square Sq = new Square(tempA);
  53. Console.WriteLine("Square perimetr is: " + Sq.Perimetr);
  54. }
  55. else
  56. {
  57. Rectangle Re = new Rectangle(tempA, tempB);
  58. Console.WriteLine("Rectangle perimetr is: " + Re.Perimetr);
  59. }
  60. Console.ReadLine();
  61. }
  62. }

Решение задачи: «Свойство и System.StackOverflowException»

textual
Листинг программы
  1.        public int Perimetr
  2.         {
  3.             get
  4.             {
  5.                     return a * 2;
  6.             }
  7.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут