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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Lordi1289
2 / 2 / 0
Регистрация: 02.11.2010
Сообщений: 103
#1

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

18.06.2012, 12:28. Просмотров 1441. Ответов 1
Метки нет (Все метки)

Создать класс четырехугольников, квадратов и прямоугольников. Создать из них иерархию. Определить функции печати, конструкторы и деструкторы, вычисление площади и периметра.

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

Иерархия геометрических объектов: клас точка->класс квадрат->класс прямоугольник - C++
Иерархия геометрических объектов: класс точка->класс квадрат->класс прямоугольник. Построить эту иерархию наследованием.. Прошу помочь -...

Иерархия классов и указатель на базовый класс - C++
Существует три класса, один наследуется от другого: class Base { public: virtual int WhoAmI const { return 0; }

Абстрактный базовый класс и множественное наследование (либо иерархия классов) - C++
Помогите пожалуйста с задачей. Кое-что написал но еще далеко не все. Все ли пока правильно? Мобильные телефоны (наименование,...

класс прямоугольников - C++
Составить описание класса прямоугольников со сторонами, параллельными осями координат. Предусмотреть возможность перемещения...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... - C++
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - 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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2012, 21:01
Привет! Вот еще темы с ответами:

Создать класс - данные - абстрактный базовый класс. Создать производные классы - C++
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

Класс прямоугольников со сторонами параллельными осям координат - C++
Описал класс прямоугольников со сторонами параллельными осям координат(Нашел как это делать и поэтому трудностей не возникло). Однако нашел...

Создать классы: колесо, велосипед и автомобиль (иерархия или композиция) - C++
Помогите решить задачу очень нужно: Создать классы: колесо, велосипед и автомобиль. Составить из них иерархию или композицию.

Даны стороны трех прямоугольников Найти периметры и площади этих прямоугольников - C++
1. S1=SSS(a1, b1); S2=SSS(a2, b2); S3=SSS(a3, b3); -------------------------------- int SSS(int a, int b) { return (a*b);...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru