0 / 0 / 0
Регистрация: 16.12.2013
Сообщений: 13
1

Создать абстрактный базовый класс Body (тело) с виртуальными методами вычисления площади поверхности и объема

20.10.2015, 19:54. Показов 5445. Ответов 3
Метки нет (Все метки)

Создать абстрактный базовый класс Body (тело) с виртуальными методами вычисления площади поверхности и объема. Создать производные классы: Parallelepiped (параллелепипед) и Ball (шар) со своими функциями площади поверхности и объема.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2015, 19:54
Ответы с готовыми решениями:

Класс: Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра.
Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра....

Создать абстрактный базовый класс с виртуальными методами вычисления функции y в заданной точке х
создать абстрактный базовый класс function с виртуальными методами вычисления ф-ции y=f(x) в...

Создать абстрактный базовый класс Root (корень) с виртуальными методами вычисления корней
Здравствуйте, на завтра нужно сдать задачу, а я не знаю как решить, помогите пожалуйста Создать...

Создать абстрактный базовый класс Body (тело) с виртуальными функциями вычисления площади поверхности и объема
Напишите эту программу пожалуйста. Создать абстрактный базовый класс Body (тело) с виртуальными...

3
Модератор
Эксперт С++
12453 / 10015 / 6027
Регистрация: 18.12.2011
Сообщений: 26,813
20.10.2015, 21:45 2
Возьмите как образец
Создать абстрактный базовый класс и производные
0
18 / 18 / 16
Регистрация: 17.08.2015
Сообщений: 125
21.10.2015, 01:02 3
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
86
87
88
89
90
#define _USE_MATH_DEFINES
 
#include<iostream>
#include <cmath>
 
using namespace std;
 
class Body
{
    double mAreaSurface;
    double mVolume;
public:
    Body():mAreaSurface(0), mVolume(0) {}
    ~Body() {}
    void SetArea(double S) {mAreaSurface = S;}
    void SetVolume (double V) {mVolume = V;}
    virtual void AreaSurface() = 0; // чисто виртуальная функция
    virtual void Volume() = 0; // чисто виртуальная функция
    void Show() 
    {
        cout<<"<"<<this<<">"<<endl;
        cout<<"Площадь пов. = "<<"\t"<<mAreaSurface<<endl;
        cout<<"Обьем = "<<"\t"<<mVolume<<endl;
    }
};
 
class Parallelepiped : public Body
{
    double mHeight; 
    double mWidth;  
    double mLength;
public:
    Parallelepiped(double a, double b, double c)
    {
        mHeight = a; 
        mWidth = b;
        mLength = c;
    } 
    ~Parallelepiped(){}
    virtual void AreaSurface() 
    {
        double S = 2 * (mHeight*mWidth + mWidth*mLength + mHeight*mLength);
        this->SetArea(S);
    }
 
    virtual void Volume() 
    {
        double V = mHeight * mWidth * mLength;
        this->SetVolume(V);
    }
};
 
class  Ball : public Body   
{
    double mRadius;
public:
    Ball(double R) {mRadius = R;}
    ~Ball() {}
    virtual void AreaSurface() 
    {
        double S = 4 * M_PI * pow (mRadius, 2);  
        this->SetArea(S); 
    }
    virtual void Volume() 
    {
        double V = (4/3) * M_PI * pow (mRadius, 3);
        this->SetVolume(V);
    }
 
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    Parallelepiped P(4.5, 3.7, 2.8);
    P.AreaSurface();
    P.Volume();
    std::cout<<"\nПараллелепипед\t";
    P.Show();
 
    Ball B(55.66);
    B.AreaSurface();
    B.Volume();
    std::cout<<"\nШар          \t";
    B.Show();
 
    system("pause");
 
    return 0;
}
2
18 / 18 / 16
Регистрация: 17.08.2015
Сообщений: 125
24.10.2015, 18:41 4
Более правильно будет - обьявить деструктор абстрактного класса виртуальным.
Изменить 13-ю строку кода вот так:
C++
1
 virtual Body():mAreaSurface(0), mVolume(0) {}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2015, 18:41
Помогаю со студенческими работами здесь

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать...

Создать абстрактный базовый класс Array с виртуальными методами и производные классы SortArray, ХогАггау
Здравствуйте! Необходимо написать программу на с#. Условие задачи такое: Создать абстрактный...

Создать абстрактный базовый класс Container с виртуальными методами sort() и поэлементной обработки контейнера foreach
Создать абстрактный базовый класс Container с виртуальными методами sort() и поэлементной обработки...

Создать абстрактный базовый класс Triangle для представления треугольника с абстрактными методы вычисления площади и периметра
Помогите разобраться с программой. Очень нужно!!! Создать абстрактный базовый класс Triangle для...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru