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

Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр - C++

Восстановить пароль Регистрация
 
Андрей2000
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 4
05.02.2014, 09:56     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #1
Помогите написать,не врублюсь как писать много пропустил ((
Задание:Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр. Создать производные классы: прямоугольник, круг, трапеция со своими функциями площади и периметра.
Буду очень благодарен !
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2014, 09:56     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр
Посмотрите здесь:

Создать абстрактный базовый класс Point, который включает в себя: C++
Создать абстрактный базовый класс Integer(целое) с виртуальными арифметическими операциями и функцией вывода на экран C++
C++ Создать абстрактный базовый класс Vehicle
Создать абстрактный базовый класс Figure C++
C++ Создать абстрактный базовый класс с виртуальной функцией
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
05.02.2014, 11:51     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #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
class Figure
{
public:
Figure(){}
virtual double Square()=0;
virtual double Perimeter()=0;
};
class Circle:public Figure
{
double R;
public:
Circle(double Radius):R(Radius){}
virtual double Square()
{
return M_PI*R*R;
}
virtual double Perimeter()
{
return 2.*M_PI*R;
}
};
 
class Square:public Figure
{
double Side;
public:
Square(double S):Side(S){}
virtual double Square()
{
return Side*Side;
}
virtual double Perimeter()
{
return 4*Side;
}
};
koldya
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 26
05.02.2014, 12:04     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #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
class Test
{
protected:
double n = 3.14159;
public:
virtual int ploshad();
vitrual int perimetr();
}
class sircle: public test
{
private:
double R, L;
public:
void vvod(){
cout << "Enter the Radius: ";
cin >> R;
}
int ploshad(){
return S n * R * R
}
int perimetr();
return L = 2 * n * R;
}
Думаю как то так )

Добавлено через 44 секунды
ps. Есть опечатки
Андрей2000
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 4
05.02.2014, 12:07  [ТС]     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #4
aLarman, ввожу в visual studio 2010 выбивает ошибку (
zelim
77 / 77 / 4
Регистрация: 26.12.2011
Сообщений: 217
05.02.2014, 12:11     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #5
koldya, в условии сказано, что нужен абстрактный базовый класс, а в вашем случае он не является таковым + инициализация данных внутри определения - как так?

Андрей2000, смотрите на вариант aLarman.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
05.02.2014, 12:49     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #6
Цитата Сообщение от Андрей2000 Посмотреть сообщение
ввожу в visual studio 2010 выбивает ошибку
какую хоть скажите
куда добавили?
проект создали? в майне пробовали создавать экземпляры классов?

Добавлено через 12 минут
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
#ifndef M_PI   //странно почему M_PI считается неопределнным, хотя math.h подключен поэтому добавил вот это
#define M_PI 3.14159265358979323846
#endif
using namespace std;
 
 
class Figure
{
public:
    Figure(){}
    virtual double Square()=0;
    virtual double Perimeter()=0;
};
class Circle:public Figure
{
    double R;
public:
    Circle(double Radius):R(Radius){}
    virtual double Square()
    {
        return M_PI*R*R;
    }
    virtual double Perimeter()
    {
        return 2.*M_PI*R;
    }
};
 
class Squared:public Figure
{
    double Side;
public:
    Squared(double S):Side(S){}
    virtual double Square()
    {
        return Side*Side;
    }
    virtual double Perimeter()
    {
        return 4*Side;
    }
};
int main()
{
    Squared S(5);
    cout << S.Square()<<endl;
    cout << S.Perimeter()<<endl;
    Circle C(10);
    cout << C.Square()<<endl;
    cout << C.Perimeter()<<endl;
    system("pause");
    return 0;
}
Добавлено через 3 минуты
о нашел в начале, до объявления класса заменить на
C++
1
2
3
4
5
6
7
#include "stdafx.h"
#define _USE_MATH_DEFINES
#include <iostream>
 
#include <math.h>
 
using namespace std;
MahovIV
5 / 6 / 1
Регистрация: 17.09.2013
Сообщений: 337
13.04.2014, 17:34     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #7
А как добавить площадь и периметр прямоугольника и прямоугольника?
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
14.04.2014, 09:15     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Rect : public Figure
{
 double a;
 double b;
public:
    Rect(double x, double y):a(x), b(y){}
    virtual double Square()
{
return a*b;
}
    virtual double Perimeter()
{
return 2.*a + 2.*b;
}
};
MahovIV
5 / 6 / 1
Регистрация: 17.09.2013
Сообщений: 337
14.04.2014, 15:10     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #9
А как вызвать функцию в программе? Всё усложняет то, что тут два параметра.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2014, 16:53     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
14.04.2014, 16:53     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    Squared S(5);
    cout << S.Square()<<endl;
    cout << S.Perimeter()<<endl;
    Circle C(10);
    cout << C.Square()<<endl;
    cout << C.Perimeter()<<endl;
    Rect Rec(15, 5);
    cout<<Rec.Square()<<endl;
    cout<<Rec.Perimeter()<<endl;
    system("pause");
    return 0;
}
Yandex
Объявления
14.04.2014, 16:53     Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр
Ответ Создать тему
Опции темы

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