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

Ошибка при компилировании

20.05.2013, 19:34. Показов 913. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При компилировании выдается ошибка "невозможно создать экземпляр абстрактного класса". Подскажите, что с ней делать, пожалуйста.

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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include "stdafx.h"
#include <iostream>
using namespace std;
 
class Figura
{
    virtual void Print() = 0;
    virtual void Read() = 0;
    virtual double Volume (double _a) = 0;
    virtual double Surface (double _a, double _b) = 0;
};
 
class Ellips : public Figura
{
protected:
    double a,b;
public:
    void Print();
    void Read();
    Ellips(double _a=0, double _b=0){a = _a; b = _b;}
    Ellips(const Ellips &ob){a = ob.a; b = ob.b;}
    double Volume (double _a, double _b);
    double Surface(double _a, double _b);
};
 
class Trapecia : public Figura
{
protected:
    double a,b,c,d,h;
public:
    void Print();
    void Read();
    Trapecia(double _a = 0, double _b = 0, double _h = 0, double _c = 0, double _d = 0){a = _a; b = _b; h = _h; c = _c; d = _d;}
    Trapecia(const Trapecia &ob){a = ob.a; b = ob.b; h = ob.h; c = ob.c; d = ob.d;}
    double Volume (double _a, double _b, double _c, double _d);
    double Surface(double _a, double _b, double _h); // В случае ошибки - смотри здесь, и удали из периметра h
};
 
class Square : public Trapecia 
{
protected:
    double a;
public:
    void Print();
    void Read();
    Square(double _a = 0){a = _a;}
    Square(const Square &ob){a = ob.a;}
    double Volume (double _a);
    double Surface(double _a);
};
 
void Ellips :: Read()
{
cout << "Vvedite znachenie bol'shoi poluosi ellipsa: ";
cin >> a;
cout << "\nVVedite znachenie malen'koi poluosi ellipsa: ";
cin >> b;
}
 
double Ellips :: Surface (double a, double b)
{
return 3.14*a*b;
}
 
double Ellips :: Volume (double a, double b)
{
return 4*((3.14*a*b+(a*a-2*a*b+b*b))/(a+b));
}
void Ellips :: Print()
{
    cout << "Ellips \n";
    cout << "P = " << Volume(a,b);
    cout << "\nS = " << Surface(a,b);
}
 
void Trapecia :: Read()
{
cout << "Vvedite znachenie pervogo osnovania: ";
    cin >> a;
cout << "VVedite znachenie vtorogo osnovania: ";
cin >> b;
cout << "Vvedite znachenie visoty: ";
cin >> h;
cout << "Vvedite znachenie pervoi bokovoi storoni: ";
cin >> c;
cout << "Vvedite znachenie vtoroi bokovoi storoni: ";
cin >> d;
}
 
double Trapecia :: Surface (double a, double b, double h)
{
return (h*(a+b))/2;
}
 
double Trapecia :: Volume (double a, double b, double c, double d)
{
return (a+b+c+d);
}
 
void Trapecia :: Print()
{
cout << "Trapecia \n";
cout << "P = " << Volume(a,b,c,d);
cout << "\nS = " << Surface(a,b,h);
}
 
void Square :: Read()
{
cout << "Vvedite znachenie storoni: ";
cin >> a;
}
 
double Square :: Surface (double a)
{
return a*a;
}
 
double Square :: Volume (double a)
{
return 4*a;
}
 
void Square :: Print()
{
cout << "Square \n";
cout << "P = " << Volume(a);
cout << "\nS = " << Surface(a);
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    int menu;
    while (true)
    {
        cout << "\nViberite figuru:\nEllips - 1\nTrapecia - 2\nKvadrat - 3\nExit - 0: ";
        cin >> menu;
        if (menu == 1)
        {
        Ellips obj1;
        obj1.Read();
        obj1.Print();
        }
        if (menu == 2)
        {
        Trapecia obj2;
        obj2.Read();
        obj2.Print();
        }
        if (menu == 3)
        {
        Square obj3;
        obj3.Read();
        obj3.Print();
        }
        else if (menu == 0)
            break;
    }
    return 0;
}
0
20.05.2013, 19:34
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2013, 19:34
Ответы с готовыми решениями:

Ошибка при компилировании
Вот такая ошибка &quot;Unhandled exception at 0x1027d340 (msvcr100d.dll) in 546456.exe: 0xC0000005: Access violation writing location...

ошибка при компилировании
уже не знаю че делать .. написал программу для класса полиномов -выводит все время эту ошибку error C2108: subscript is not of integral...

Ошибка при компилировании
Здравствуйте. У меня ошибка при компилировании кода в VS2017 и мне не понятно как её устранить, помогите, пожалуйста. #include...

1
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
20.05.2013, 19:41 2
C++
1
2
   double Volume (double _a, double _b, double _c, double _d);
    double Surface(double _a, double _b, double _h); // В случае ошибки - смотри здесь, и удали из периметра h
Код не Ваш и Вы даже не удосужились прочитать что Вам пишут.

п.с. Почитайте про наследование. Виртуальные функции и чисто виртуальные функции. А также это
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
while (true)
    {
        cout << "\nViberite figuru:\nEllips - 1\nTrapecia - 2\nKvadrat - 3\nExit - 0: ";
        cin >> menu;
        if (menu == 1)
        {
        Ellips obj1;
        obj1.Read();
        obj1.Print();
        }
        if (menu == 2)
        {
        Trapecia obj2;
        obj2.Read();
        obj2.Print();
        }
        if (menu == 3)
        {
        Square obj3;
        obj3.Read();
        obj3.Print();
        }
        else if (menu == 0)
            break;
    }
Вы должны переписать с использованием абстрактного класса. Иначе Ваш труд сводиться в 0.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2013, 19:41
Помогаю со студенческими работами здесь

Ошибка при компилировании
Добрый день, не компилится код, ошибки следующие: In function 'int main(int, char**)': 'cout' was not declared in this scope ...

Ошибка при компилировании
Приветствую, скачал visual studio 2010 профессиональную, создал проект win32 с кодом окна апи, ничего не менял, попытался запустить этот...

Ошибка при компилировании
При компилировании любого кода всегда эта ошибка: c:\program files\microsoft visual studio 8\vc\include\string(3) : fatal error C1014:...

Ошибка при компилировании
Условие задачи: Разработать программу “Выравнивание”. Исходная информация представляет собой связный текст, записанный в файле. Программа...

Ошибка при компилировании Hello world
Здравствуйте.Помогите пожалуйста.Установил Visual Studio C++.Вбил Hello World,а он почему то выдает ошибку. Что не так? Помогите...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
Laravel или Symfony: что лучше для старта?
Wired 18.02.2025
В веб-разработке выбор правильного фреймворка может стать определяющим фактором успеха проекта. Особенно это актуально для PHP - одного из самых распространенных языков программирования, где Laravel. . .
Что нового в Laravel 12
Wired 18.02.2025
С момента своего появления в 2011 году Laravel постоянно развивается, внедряя инновационные решения и совершенствуя существующие возможности. В начале 2025 года ожидается выход Laravel 12 - новой. . .
Роутер в Laravel: как работать с маршрутами
Wired 18.02.2025
Маршрутизация - один из основополагающих элементов любого веб-приложения на Laravel, определяющий как приложение отвечает на HTTP-запросы к различным URL-адресам. По сути, роутинг - это механизм. . .
Интеграция шаблона Bootstrap в Laravel PHP
Wired 18.02.2025
Разработка веб-приложений в современном мире требует не только надежного бэкенда, но и привлекательного, отзывчивого интерфейса. Laravel, как один из самых популярных PHP-фреймворков, отлично. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru