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

Структура внутри класса - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
cripton
 Аватар для cripton
3 / 2 / 1
Регистрация: 02.03.2010
Сообщений: 16
15.11.2010, 18:38     Структура внутри класса #1
Вообщем необходимо создать класс жидкость, в нём указатель на название (слово) и плотность (целочисл). Определить конструкторы и деструкторы, функцию вывода. Создать производный клас "Алкогольные напитки" имеющего значение крепость (целочисл). Так же конструкторы и деструкторы. Опеределить функцию переназначения крепости и плотности.

Из всего этого уважаемы я сейчас делаю то, что выделено жирным шрифтом. Решил что задать структуру будет самое оптимальное, а потом добавить крепость из производного класса. Проблема в том, что ввод делаю, ввожу последнее значение и вылетает ошибка, "access violation at (адрес) write of address (адрес).

Буду признателен за помощь в решении проблемы.

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
#include <iostream.h>
#include <string.h>
#include <stdio.h>
 
class basecl
{
    struct Liquid
    {
        char Name[10];
        int Density;
    };
 
   public:
   char f[10]; int g, n, *x;
   Liquid *Liq;              
   basecl()
   {
      n=1;
      x=new int[1];
      *x=5;
   };
   basecl(int e);
   basecl vvod();
   basecl vivod();
   ~basecl(){ delete[] f;};
};
 
basecl::basecl(int e)     //конструктор с одним параметром
{
   int i;
   n=e;
   x=new int[n];
   for (i=0; i<n; i++)
      x[i]=i+e;
};     
 
basecl basecl::vvod()
{
   int i; char b[10];
   cout << "Kol-vo naimenovaniy: ";
   cin >> n;
   Liq=new Liquid[n];
   for(i=0;i<n;i++)
    {
        cout << i << ". ";
        gets(b);
        strcpy(Liq[i].Name, b);
        cout <<" Plotnostb: ";
        cin >> Liq[i].Density;
         //cout << n << " " <<Liq[i].Name << " " << Liq[i].Density<< " "; 
        // тут делал проверку, записывает ли или нет... 
        }
      return 0;
};
 
basecl basecl::vivod()
{
   int i;
   for(i=0;i<n;i++)
   cout << (i+1) << ". " << Liq[i].Name << " " << "Plotnostb: " << Liq[i].Density << endl;
   return 0;
};
 
main()
{
   int i=1000;
   basecl a;
   a.vvod();
   cout << i;
   a.vivod();
   cin>>i;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2010, 18:38     Структура внутри класса
Посмотрите здесь:

проблема - инициализация класса A внутри класса B C++
объявление дружественного класса внутри класса C++
C++ delete внутри класса для самого класса
C++ Структура внутри класса
Структура внутри класса и передача массива C++
BST дерево. Инициализация класса внутри класса C++
C++ Создать объект внутри класса, который может вызывать функцию этого класса
C++ Методы класса внутри определения класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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