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

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

Войти
Регистрация
Восстановить пароль
 
ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
#1

Выбивает все время одну и ту же ошибку - C++

15.01.2014, 14:57. Просмотров 336. Ответов 3
Метки нет (Все метки)

Добрый день.
В моем проекте есть абстрактный базовый класс, от него два производных.
Когда я пытаюсь создать объект производного класса выбивает странную ошибку:
Error 1 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
и вот такую
Error 3 error C2523: 'Alive_prod::~Alive_product' : destructor tag mismatch

Я не вижу в чем проблема...
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
class Product               //чистый абстрактный класс
{
protected:
 
    char cArticle [8];      //строка чисел, удобно для поиска
    char cName [15];        //строка содерж. назв. товара
    char cProducer [20];    //поставщик
    double dPurchase_price; //закупочная цена
    double dSale_price;     //розничная цена
    short sCount;           //количество
 
public:
    Product(void): dPurchase_price(0), dSale_price(0), sCount(0)        //конструктор по умолчанию, ничего не делающий
    {
        std::cout<<"You have created a new product "<<this<<'\n';   
        //memcpy(cArticle, "Cool", sizeof(char) * 4);
        cArticle[0] = '\0';
        cName[0] = '\0';
        cProducer[0] = '\0';
    }
 
    virtual ~Product(void)      //деструктор виртуальный, ничего не делающий
    {
        std::cout<<"You have removed the product "<<this<<'\n';
    }
 
    virtual void Set_Sale_price () = 0; //чистая абстрактная функция
};
#endif
 
 
 
#ifndef _ALIVE_PROD_
#define _ALIVE_PROD_
 
#include <iostream>
#include "product.h"
 
class Alive_prod :
    public Product
{
protected:
 
    char cWatering [20];    //частота полива, строка
    char cSunlight [15];    //отношение к солнечному свету
    short sAge;             //возраст растения
 
public:
 
    Alive_product(void)
    {
        std::cout<<"You have created a new Alive_product "<<this<<'\n';
        cWatering[0] = '\0';
        cSunlight[0] = '\0';
        sAge = 0;
    }
 
    ~Alive_product(void)
    {
        std::cout<<"You have removed the Alive_product "<<this<<'\n';
    }
    virtual void Set_Sale_price ()      //установить розничную цену
    {
        dSale_price += (dPurchase_price * 0.3);
    }
 
};
#endif
 
 
 
 
#ifndef _PROD_UNALIVE_
#define _PROD_UNALIVE_
#include "product.h"
#include "Out_Unalive.h"
class Prod_Unalive :
    public Product
{
    //добавить друзей
    
    char cMaterial [20];        //материал из кот. изготовлено
    char cCleaning [10];        //способ чистки - сухая, влажная
    char cShelf_life [8];       //конечная дата эксплуатации
public:
 
    friend class Out_Unalive;
 
    Prod_Unalive(void)
    {
        std::cout<<"You have created a new Unalive_product "<<this<<'\n';       
        cMaterial[0] = '\0';
        cCleaning[0] = '\0';
        cShelf_life[0] = '\0';
    }
 
    ~Prod_Unalive(void)
    {
        std::cout<<"You have removed the Unalive_product "<<this<<'\n';
    }
 
    virtual void Set_Sale_price ()      //установить розничную цену
    {
        dSale_price += (dPurchase_price * 0.3);
    }
};
#endif
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 14:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выбивает все время одну и ту же ошибку (C++):

Во время отладки выбивает ошибку C++ - C++
Здравствуйте, помогите пожалуйста решить проблему. Собственно самое задание звучит так: Вычислить и вывести на экран в виде таблицы...

Ошибку выбивает - C++
#include &lt;iostream.h&gt; int main(void) { int i; //счетчик в цикле int N; // размер массива int a; // объявление массива char...

Выбивает ошибку - C++
Мне нужно вывести на экран начало адреса! Почему, когда я пишу эту функцию с красным символом(тоесть то, что я выделила), то мне выбивает...

ошибку выбивает в библиотеке - C++
Написать демонстрационную программу, в которой создаются объекты различных. Для определения иерархии классов связать их отношением...

В классах выбивает ошибку - C++
# include &quot;stdafx.h&quot; # include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;windows.h&gt; #include &lt;tchar.h&gt; using...

Почему выбивает ошибку в if(.); {.} else {.} - C++
Помогите пожалуйста, не могу понять в чем проблема #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; //Условие задачи:...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23563 / 15557 / 4602
Регистрация: 22.10.2011
Сообщений: 27,581
Записей в блоге: 5
15.01.2014, 15:13 #2
То есть, класс у тебя называется Alive_prod, а конструктор для него - Alive_product?
1
ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
15.01.2014, 15:18  [ТС] #3
ОХ, исправила... мозги плавятся...
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
15.01.2014, 15:20 #4
Вижу ошибки компиляции
Определитесь с именем
C++
1
class Alive_prod
конструктор
C++
1
Alive_product(void)
деструктор
C++
1
Alive_product(void)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2014, 15:20
Привет! Вот еще темы с ответами:

Выбивает ошибку в коде - C++
Код выбивает ошибку MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup,...

WinApi выбивает ошибку, visual 2008 - C++
Всем привет, вот тут проблемка такая) Выдает 3 ошибки: 1&gt;c:\my documents\visual studio...

Программа выбивает ошибку при выводе - C++
Помогите,пожалуйста,выбивает непонятную мне ошибку! #include &quot;stdafx.h&quot; #include&lt;stdlib.h&gt; #include&lt;stdio.h&gt; ...

Выбивает ошибку при запуске в «планировщике заданий» - C++
Мне нужно запустить эмуляцию клавиш, а в программе нужно нажать CTRL + SHIFT + ENTER, я хочу все автоматизировать, чтобы система делала...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.01.2014, 15:20
Ответ Создать тему
Опции темы

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