Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Delacroic
0 / 0 / 1
Регистрация: 04.12.2013
Сообщений: 61
#1

Класс создающий другой класс (ошибка) - C++

04.12.2013, 12:02. Просмотров 444. Ответов 12
Метки нет (Все метки)

Начал писать прогу, суть в том, что один класс должен создавать группу объектов другого класса, написал один класс - работало, а во втором ошибка, не пойму в чем =(

Добавлено через 9 минут
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
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <time.h>
#include <ctime>
#include <tchar.h>
#include <conio.h>
#include <sstream>
#include <locale>
#include <string>
#include <dos.h>
using namespace std;
 class machine
 {
     int i, kod;
     int sv,x;
     int qq;
     bool r;
     int xx;
 public:
     machine()
        {   time_t tm1;
            tm1 = time (NULL);
            qq=tm1;
            kod=0;
        }
            void rel(int x)
            {
                time_t tm1;
                tm1 = time (NULL);
                    do
                        {
                            tm1 = time (NULL);
                        }
                        while(qq==tm1);
                        qq=tm1;
                        if(x==0)
                            {
                                r=0;
                                kod++;
                            }
                        if (x>0)
                             r=1;
                        cout<<"Vrem'a do konca robotu= "<<x<<endl<<"rejim rabotu - "<<r<<endl<<"Kol-vo obrabotanuh detalei = "<<kod<<endl;
                
            };
 };
 
 class groupmachine
 {
     int qq;
     int ssv; 
     int *x;
     int N;
 public:
     groupmachine ()
        {
            int *x =new int[3];
            cout<<"BBeDuTe BpeM9l Pab0Tld";
            cin>>ssv;
            cout<<"BBeDuTe KoJl-BO CTAHKOB";
            cin>>N;
            for(int i=0;i<N;i++)
            x[i]=ssv;
            
        }
        void zad()
            {machine *p=new machine[N];
                time_t tm1;
                tm1 = time (NULL);
                qq=tm1;
                for(;;)
                    {
                    for(int i=0;i<N;i++)
                        (p+i)->rel(int (x[i]));
 
                    do
                        {
                            tm1 = time (NULL);
                            if(kbhit()) 
                            if(getch()==27)
                                {
                                    delete []p;
                                }
                        }
                            while(qq==tm1);
                            qq=tm1;
                            for(int i=0;i<3;i++)
                                {
                                    if(x[i]>=0)x[i]--;
                                    if(x[i]==-1)x[i]=ssv;
                                }
                    } 
            };
 };
 
 void main()
 {
     int qq;
     groupmachine *y=new groupmachine[1];
     time_t tm1;
     tm1 = time (NULL);
     qq=tm1;
 
     for(;;)
     {
         for(int i=0;i<1;i++)
             (y+i)->zad();
 
         do
            {
                tm1 = time (NULL);
                if(kbhit()) 
                if(getch()==27)
                    {
                        delete []y;
                    }
            }while(qq==tm1);
            qq=tm1;
     }
 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 12:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Класс создающий другой класс (ошибка) (C++):

Класс создающий класс и любого его наследника
Есть класс: #pragma once #include &lt;string&gt; #include &quot;Entity.h&quot; class...

Класс TGoods, создающий тип – товар
Задание вот: Объявите класс TGoods, создающий тип – товар. Элементы – данные...

Область видимости. один класс не видит другой класс
Добрый день! такая проблема. Есть базовый класс Q. От него наследуется 2...

Объявите класс TCar, создающий тип – автомобиль
ВАРИАНТ 8 Объявите класс TCar, создающий тип – автомобиль. Элементы –...

Один класс не видит другой класс
Не компилируется код, компилятор выдает ошибку, как я понял это из-за того что...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class...

12
egor2116
571 / 375 / 215
Регистрация: 20.01.2013
Сообщений: 1,135
04.12.2013, 12:54 #2
а во втором ошибка,
А что за ошибка ?
0
Brain_Dead
9 / 8 / 3
Регистрация: 25.09.2013
Сообщений: 35
04.12.2013, 12:55 #3
C++
1
2
3
4
5
6
7
8
9
10
groupmachine ()
{
 int *x =new int[3];
 cout<<"BBeDuTe BpeM9l Pab0Tld";
 cin>>ssv;
 cout<<"BBeDuTe KoJl-BO CTAHKOB";
 cin>>N;
 for(int i=0;i<N;i++)
 x[i]=ssv;
}
Первое, что приходит в голову - при вводе N > 3 у тебя произойдёт выход за границы массива int x[3], после чего развалится всё остальное, что есть в программе.
0
Kuzia domovenok
2215 / 1984 / 447
Регистрация: 25.03.2012
Сообщений: 6,974
Записей в блоге: 1
04.12.2013, 12:58 #4
x=new int[3]
а пчму сбсно 3 штки?
Зчм тгда нужн N?
1
Delacroic
0 / 0 / 1
Регистрация: 04.12.2013
Сообщений: 61
04.12.2013, 13:00  [ТС] #5
Цитата Сообщение от egor2116 Посмотреть сообщение
А что за ошибка ?
Необработанное исключение в "0x00331a45" в "progect xx.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcdcd".

0xcdcdcdcd - адрес x

Добавлено через 58 секунд
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
x=new int[3]
а пчму сбсно 3 штки?
Зчм тгда нужн N?
просто тестирую прогу, N задаю 1 или 2
0
Kuzia domovenok
2215 / 1984 / 447
Регистрация: 25.03.2012
Сообщений: 6,974
Записей в блоге: 1
04.12.2013, 13:00 #6
Опздл, млн...
0
grenuj
6 / 6 / 3
Регистрация: 30.11.2013
Сообщений: 25
04.12.2013, 13:02 #7
Цитата Сообщение от Delacroic Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
class groupmachine
 {
   int *x;
   int N;
public:
   groupmachine ()
   {
          int *x =new int[3];
Две переменных х. Это так и должно быть?
1
Delacroic
0 / 0 / 1
Регистрация: 04.12.2013
Сообщений: 61
04.12.2013, 13:06  [ТС] #8
Цитата Сообщение от grenuj Посмотреть сообщение
Две переменных х. Это так и должно быть?
Всмысле? х - указатель, а int *x; - это его объявление
0
grenuj
6 / 6 / 3
Регистрация: 30.11.2013
Сообщений: 25
04.12.2013, 13:09 #9
Delacroic, Это две разных переменных.
0
Delacroic
0 / 0 / 1
Регистрация: 04.12.2013
Сообщений: 61
04.12.2013, 13:12  [ТС] #10
Цитата Сообщение от grenuj Посмотреть сообщение
Delacroic, Это две разных переменных.
Почему? В конструкторе я объявляю некий указатель, а потом присваиваю ему конкретный адрес
0
grenuj
6 / 6 / 3
Регистрация: 30.11.2013
Сообщений: 25
04.12.2013, 13:20 #11
Delacroic, Нужно заменить эту строчку:
Цитата Сообщение от Delacroic Посмотреть сообщение
int *x =new int[3];
На эту:
C++
1
x =new int[3];
Слово int убрать.
Теперь х - это одна и та же переменная
1
Kuzia domovenok
2215 / 1984 / 447
Регистрация: 25.03.2012
Сообщений: 6,974
Записей в блоге: 1
04.12.2013, 13:24 #12
Слшй, чт тбе гврят! Ты нпсал втрой раз int* - т объявл втрю прмнню!
1
Delacroic
0 / 0 / 1
Регистрация: 04.12.2013
Сообщений: 61
04.12.2013, 13:25  [ТС] #13
grenuj, оу, заработало =) Спасибо=)))
0
04.12.2013, 13:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2013, 13:25
Привет! Вот еще темы с решениями:

Ошибка в выводе данных, класс выводит правильно, а класс в классе - нет
Неизвестная для меня проблема. Класс выводит данные правильно из Consigment, а...

Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами
Здравствуйте! Никак не могу продумать структуру этой программы. Проходим...

Класс: Разработать абстрактный класс класс Point для задания координаты...
Всем привет, помогите пожалуйста решить задачу, я уже всю голову сломал, не...

Отдельно класс данных, класс формул и главный класс
Здравствуйте! У меня есть три вопроса. Первый вопрос. Скажите пожалуйста!...


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

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

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