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

Создать класс четырехугольников, квадратов и прямоугольников (иерархия) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Lordi1289
2 / 2 / 0
Регистрация: 02.11.2010
Сообщений: 103
18.06.2012, 12:28     Создать класс четырехугольников, квадратов и прямоугольников (иерархия) #1
Создать класс четырехугольников, квадратов и прямоугольников. Создать из них иерархию. Определить функции печати, конструкторы и деструкторы, вычисление площади и периметра.

за ранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2012, 12:28     Создать класс четырехугольников, квадратов и прямоугольников (иерархия)
Посмотрите здесь:

C++ класс прямоугольников
Иерархия геометрических объектов: клас точка->класс квадрат->класс прямоугольник C++
C++ Абстрактный базовый класс и множественное наследование (либо иерархия классов)
C++ Создать классы: колесо, велосипед и автомобиль (иерархия или композиция)
C++ Создать класс - данные - абстрактный базовый класс. Создать производные классы
Иерархия классов и указатель на базовый класс C++
C++ Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Даны стороны трех прямоугольников Найти периметры и площади этих прямоугольников C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mad_svyat
17 / 17 / 0
Регистрация: 10.01.2012
Сообщений: 34
18.06.2012, 21:01     Создать класс четырехугольников, квадратов и прямоугольников (иерархия) #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
#include <iostream>
 
using namespace std;
 
class FourAngle {
public:
    FourAngle(float a = 0.0, float b = 0.0,
              float c = 0.0, float d = 0.0):
        sideA(a), sideB(b), sideC(c), sideD(d) { }
    virtual ~FourAngle() {}
    virtual float square() { cout << "Unable to calculate square!"
                                     " Unknown figure type";
                           return -1;
                           }
    virtual float perimeter() { return sideA+sideB+sideC+sideD; }
    virtual void print() { cout << "FourAngle: Sides: " << sideA
                                << ", " << sideB << ", " << sideC
                                << ", " << sideD << endl;
                         }
protected:
    float sideA;
    float sideB;
    float sideC;
    float sideD;
};
 
class Rectungle: public FourAngle {
public:
    Rectungle(float a = 0.0, float b = 0.0): FourAngle(a, b) { }
    ~Rectungle() {}
    float square() { return sideA*sideB; }
    float perimeter() { return 2*(sideA+sideB); }
    void print() { cout << "Rectungle: Sides: " << sideA
                        << ", " << sideB << endl << "Square: "
                        << square() << endl << "Perimeter: "
                        << perimeter() << endl;
                 }
};
 
class Square: public Rectungle {
public:
    Square(float a = 0.0): Rectungle(a) { }
    ~Square() {}
    float square() { return sideA*sideA; }
    float perimeter() { return 4*sideA; }
    void print() { cout << "Square: Side: " << sideA << endl
                        << "Square: " << square() << endl
                        << "Perimeter: " << perimeter() << endl;
                 }
};
 
int main()
{
    FourAngle f;
    Rectungle rec(8, 6);
    Square sq(8);
    f.print();
    cout << endl;
    rec.print();
    cout << endl;
    sq.print();
 
    return 0;
}
Yandex
Объявления
18.06.2012, 21:01     Создать класс четырехугольников, квадратов и прямоугольников (иерархия)
Ответ Создать тему
Опции темы

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