Форум программистов, компьютерный форум CyberForum.ru

Построить классы для описания плоских фигур:круг,квадрат,прямоугольник - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.90
НастенькО
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 44
07.04.2011, 16:24     Построить классы для описания плоских фигур:круг,квадрат,прямоугольник #1
Построить классы для описания плоских фигур:круг,квадрат,прямоугольник.Включить методы для определения периметра и площади фигур.Перегрузить операции,реализующие те же действия.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2011, 16:24     Построить классы для описания плоских фигур:круг,квадрат,прямоугольник
Посмотрите здесь:

C++ Построить класс для описания плоской геометрической фигуры квадрат
C++ Построить систему классов для описания плоских геометрических фигур
Построить класс для описания плоской геометрической фигуры прямоугольник C++
C++ Построить систему классов для описания плоских геометрических фигур
Создать производные классы: Rectangle (прямоугольник), Circle (круг), Triangle (треугольник) со своими методами вычисления площади и периметра C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.04.2011, 21:17     Построить классы для описания плоских фигур:круг,квадрат,прямоугольник #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
 
class Figure {
 public:
  virtual void  Draw() = 0;
  virtual float Area() = 0;
  virtual float Perimiter() = 0;
};
 
class Rectangle : public Figure {
 public:
  Rectangle(float width, float height)
    : width_(width), height_(height) {}
  virtual float Width() const { return width_; }
  virtual float Height() const { return height_; }
  virtual void  Width(float value) { width_ = value; }
  virtual void  Height(float value) { height_ = value; }
  virtual float Area() { return Width() * Height(); };
  virtual float Perimiter() { return (Width() + Height()) * 2; };
  virtual void  Draw() {
    printf("Rectangle. Width: %.3f, height: %.3f, area: %.3f, "
           "perimiter: %.3f;\n",
           Width(), Height(), Area(), Perimiter());
  }
 private:
  float width_;
  float height_;
};
 
class Square : public Rectangle {
 public:
  explicit Square(float side) : Rectangle(side, side) {}
  virtual float Width() const { return Rectangle::Width(); }
  virtual float Height() const { return Rectangle::Height(); }
  virtual void  Width(float value)  {
    Rectangle::Width(value);
    Rectangle::Height(value);
  }
  virtual void  Height(float value) {
    Rectangle::Width(value);
    Rectangle::Height(value);
  }
  virtual void  Draw() {
    printf("Square. Side: %.3f, area: %.3f, perimiter: %.3f;\n",
           Rectangle::Width(), Area(), Perimiter());
  }
};
 
class Circle : public Figure {
 public:
  static const float Pi = 3.14;
  explicit Circle(float radius) : radius_(radius) {}
  virtual float Radius() const { return radius_; }
  virtual void  Radius(float value) { radius_ = value; }
  virtual float Area() { return Pi * pow(Radius(), 2.); };
  virtual float Perimiter() { return 2 * Pi * Radius(); };
  virtual void  Draw() {
    printf("Circle. Radius: %.3f, area: %.3f, perimiter: %.3f;\n",
           Radius(), Area(), Perimiter());
  }
 private:
  float radius_;
};
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  Figure *figures[10];
  for (int i = 0; i < 10; ++i) {
    switch (rand() % 3) {
    case 0: figures[i] = new Circle((rand() % 1000) / 100.);
            break;
    case 1: figures[i] = new Rectangle((rand() % 1000) / 100.,
                                       (rand() % 1000) / 100.);
            break;
    case 2: figures[i] = new Square((rand() % 1000) / 100.); 
            break;
    }
    figures[i]->Draw();
    delete figures[i];
  }
  return 0;
}
НастенькО
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 44
08.04.2011, 10:35  [ТС]     Построить классы для описания плоских фигур:круг,квадрат,прямоугольник #3
Выбило 4 ошибки
Не могу понять какие
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
08.04.2011, 23:45     Построить классы для описания плоских фигур:круг,квадрат,прямоугольник #4
Ну и что там за ошибки "выбило"?

Не по теме:

Чего только с ошибками не происходит... Но словосочетание "выбивает ошибки" как-то особо, с отягчающими обстоятельствами хреново.

Yandex
Объявления
08.04.2011, 23:45     Построить классы для описания плоских фигур:круг,квадрат,прямоугольник
Ответ Создать тему
Опции темы

Текущее время: 15:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru