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

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

Восстановить пароль Регистрация
 
ElenaBilyk
 Аватар для ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
15.01.2014, 14:57     Выбивает все время одну и ту же ошибку #1
Добрый день.
В моем проекте есть абстрактный базовый класс, от него два производных.
Когда я пытаюсь создать объект производного класса выбивает странную ошибку:
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 14:57     Выбивает все время одну и ту же ошибку
Посмотрите здесь:

C++ Выбивает ошибку
C++ проверьте пожалуйста , выбивает ошибку о нехватке памяти
В классах выбивает ошибку C++
C++ WinApi выбивает ошибку, visual 2008
Почему выбивает ошибку в if(.); {.} else {.} C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volvo
Супер-модератор
 Аватар для volvo
21833 / 14196 / 3957
Регистрация: 22.10.2011
Сообщений: 25,088
Записей в блоге: 2
15.01.2014, 15:13     Выбивает все время одну и ту же ошибку #2
То есть, класс у тебя называется Alive_prod, а конструктор для него - Alive_product?
ElenaBilyk
 Аватар для ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
15.01.2014, 15:18  [ТС]     Выбивает все время одну и ту же ошибку #3
ОХ, исправила... мозги плавятся...
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
15.01.2014, 15:20     Выбивает все время одну и ту же ошибку #4
Вижу ошибки компиляции
Определитесь с именем
C++
1
class Alive_prod
конструктор
C++
1
Alive_product(void)
деструктор
C++
1
Alive_product(void)
Yandex
Объявления
15.01.2014, 15:20     Выбивает все время одну и ту же ошибку
Ответ Создать тему
Опции темы

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