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

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

Войти
Регистрация
Восстановить пароль
 
ГузелькаС
5 / 5 / 0
Регистрация: 04.12.2011
Сообщений: 178
#1

Ошибка при добавление экземпляра класса - C++

26.05.2014, 20:52. Просмотров 259. Ответов 7
Метки нет (Все метки)

Добавляю один товар, все хорошо. При повторном добавлении название и вид предыдущих товаров заменяется на данные вновь добавленного товара.
Думаю, проблема из за массива строк.

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
class tovar
{
public:
     char* name;
     char* type;
     int price;
     int count;
    tovar(char aname[],char atype[],int aprice, int acount);
    tovar();
    ~tovar(void);
};
tovar::tovar(char aname[],char atype[],int aprice, int acount)
{
    name=aname;
    price=aprice;
    type=atype;
    count=acount;
}
 
#include "tovar.h"
class listTovars
{
public:
    
    listTovars();
    ~listTovars(void);
    int count;
    tovar list[30];//массив товаров
    void Add(char aname[],char atype[],int aprice, int acount);//добавление
    void ShowAll();//вывод всех товаров
 
    
};
 
 
listTovars::listTovars(void)
{
    count=0;
}
void listTovars::Add(char aname[],char atype[],int aprice, int acount)
{
    tovar a(aname,atype,aprice,acount);
    list[count] =a;
    count++;
 
}
void listTovars::ShowAll()
{
    setlocale(0,"");
    cout<<"Информация о товарах:"<<endl;
    for (int i=0;i<count;i++)
    {
        cout<<"Наименование: "<<list[i].name<<" Вид товара: "<<list[i].type<<" Цена: "<<list[i].price<<" Количество: "<<list[i].count<<endl;
    }
}
 
char bname[20];
                char btype[20];
                int bprice;
                int bcount;
                cout<<"Введите необходимые данные: "<<endl;
                cout<<"Название: ";         cin>>bname;
                cout<<"Вид: ";              cin>>btype;
                cout<<"Цена: ";             cin>>bprice;
                cout<<"Количество: ";       cin>>bcount;
                l.Add(bname,btype,bprice,bcount);
                break;
Добавлено через 24 секунды
Здесь представлены кусочки программы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 20:52     Ошибка при добавление экземпляра класса
Посмотрите здесь:

Ошибка при создании экземпляра класса - C++
На скринах показано, где ошибка Вот код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;iomanip&gt; #include...

Ошибка при добавлении экземпляра класса в поток - C++
Добрый день, возникла ошибка при добавлении екземпляра класса в поток, не могу разобраться, прилагаются скрины! П.5.18.Правил ...

Ошибка создания экземпляра класса - C++
Собственно ошибка в мейне error C2227: left of '-&gt;AddLast' must point to class/struct/union/generic type Содержимое StringList.h: ...

Ошибка в создании экземпляра класса - C++
Начал изучать шаблоны , и не могу переделать , подскажите что не так . template &lt;class data_one&gt; class linklist { private: ...

Размер массива при создании экземпляра класса - C++
Нет возможности использовать динамически выделяемую память под массив. Используется в микроконтроллерах, память в обрез и компилятор глючит...

Создание экземпляра класса - C++
всем доброго времени суток! подскажите такую вещь: есть класс, нужно создать объект этого класса, но не программно (тоесть уже при работе...

Добавление экземпляра структуры в конец коллекции - C++
У меня задание: . Структура &quot;Человек&quot;: - фамилия, имя, отчество; - домашний адрес; - номер...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jewbacabra
Эксперт PHP
2260 / 1924 / 721
Регистрация: 24.04.2014
Сообщений: 5,596
26.05.2014, 21:05     Ошибка при добавление экземпляра класса #2
Цитата Сообщение от ГузелькаС Посмотреть сообщение
C++
1
2
3
4
5
6
7
tovar::tovar(char aname[],char atype[],int aprice, int acount)
{
* * name=aname;
* * price=aprice;
* * type=atype;
* * count=acount;
}
Если использовать строки в стиле C, то тогда уж так.
C++
1
2
3
4
name = new char[strlen(aname)+1];
strcpy(name, aname);
// И в деструкторе освободить память
delete[] name;
А вообще лучше воспользоваться std::string
ГузелькаС
5 / 5 / 0
Регистрация: 04.12.2011
Сообщений: 178
26.05.2014, 21:12  [ТС]     Ошибка при добавление экземпляра класса #3
Вот такую ошибочку мне выдает:

error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Jewbacabra
Эксперт PHP
2260 / 1924 / 721
Регистрация: 24.04.2014
Сообщений: 5,596
26.05.2014, 21:30     Ошибка при добавление экземпляра класса #4
ГузелькаС, или используй strcpy_s, либо добавь #define _CRT_SECURE_NO_WARNINGS перед подключением string.h
ГузелькаС
5 / 5 / 0
Регистрация: 04.12.2011
Сообщений: 178
26.05.2014, 21:40  [ТС]     Ошибка при добавление экземпляра класса #5
Ошибка при добавление экземпляра класса

что я не так делаю?
Jewbacabra
Эксперт PHP
2260 / 1924 / 721
Регистрация: 24.04.2014
Сообщений: 5,596
26.05.2014, 21:58     Ошибка при добавление экземпляра класса #6
ГузелькаС, попробуй в свойствах проекта C/C++ -> general -> warning level -> turn of all warnings
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.05.2014, 22:02     Ошибка при добавление экземпляра класса #7
Цитата Сообщение от ГузелькаС Посмотреть сообщение
что я не так делаю?
Это студия не так делает, а не Вы. Нужно добавить в самое начало кода:
C++
1
#define _CRT_SECURE_NO_WARNINGS
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2014, 22:14     Ошибка при добавление экземпляра класса
Еще ссылки по теме:

Запись экземпляра класса в файл - C++
есть класс _matrix.Я выполняю некии действия с объектом этого класса,а потом записываю этот объект в файл. Теперь у меня есть...

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

Создание экземпляра шаблона класса - C++
Есть код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; //======================================== template...

Способ создания экземпляра класса - C++
Ниже в скрипте отметила два варианта. В чужих скриптах встречаю оба время от времени. Интересно, в чем принципиальное различие и как...

Проблема с созданием экземпляра класса - C++
Добрый день! Есть файл &quot;File.cpp&quot;, в нём находится точка входа и класс &quot;Helper&quot;. Пытаюсь создать инстанс класса Helper: ...


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

Или воспользуйтесь поиском по форуму:
ГузелькаС
5 / 5 / 0
Регистрация: 04.12.2011
Сообщений: 178
26.05.2014, 22:14  [ТС]     Ошибка при добавление экземпляра класса #8
Ошибка при добавление экземпляра класса
не получается
Yandex
Объявления
26.05.2014, 22:14     Ошибка при добавление экземпляра класса
Ответ Создать тему
Опции темы

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