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

Непонятки с классами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ То ли getchar мозги парит, то ли я что-то не вижу http://www.cyberforum.ru/cpp-beginners/thread943088.html
не срабатывает, получается бесконечный цикл... do { ch=getchar(); } while ((ch != 'y') | (ch!='n')); что не так, подскажите, плиз
C++ Специализация nested template class Всем доброго дня. Сделал частичную развертку циклов с помощью шаблонов. Однако, если вспомогательную структуру inner_unroller сделать nested для главного класса-унроллера, то компилятор ругается - nested class является шаблонным и специализируется внутри главного класса: template<size_t idx_start, size_t idx_end> class partial_unroller//Главный класс - "частичный развертыватель" { public:... http://www.cyberforum.ru/cpp-beginners/thread943082.html
C++ поменят местами элементи массива
составить программу, которая меняет местами два любих элементи двумерного массива
C++ Из двух в один
Существует два файла .cpp //Первый файл #include <iostream> #include <locale> using namespace std; int r_avg(int i); void reset;
C++ Класс Person http://www.cyberforum.ru/cpp-beginners/thread943043.html
Добрый день, форумчане. Решал задание из книги С.Прата, №2 из главы 10. Пусть имеется определение простого класса в нем используется объект string и символьный массив. Напишите программу, которая дополнит реализацию за счет предоставления кода для пока еще не определенных методов. В программе, использующей класс, должны также присутствовать вызовы трех возможных конструкторов (без аргументов, с...
C++ Создание двумерного динамического массива У Хортона А. - Visual C++ 2005 написано как создавать динамические массивы таким способом: Выделение памяти в свободном хранилище для многомерного массива предполагает использование new в несколько более сложной форме, чем для одномерного массива. Если предположить, что у вас уже есть соответствующим образом указатель pbeans, то получение пространства памяти для массива beans, с которым вы... подробнее

Показать сообщение отдельно
KokosSPb
32 / 82 / 3
Регистрация: 03.02.2011
Сообщений: 463

Непонятки с классами - C++

24.08.2013, 18:41. Просмотров 2069. Ответов 14
Метки (Все метки)

Народ, уже всё перерыл, впервые с проблемой столкнулся
Создаю консольное приложение:
файл class.h
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
#pragma once
 
class Order{
private:
    bool *order;
    int numElem;
public:
    Order(){//Конструктор с количеством элементов 256
        numElem=256;
        order = new bool(numElem);
        for(int i=0;i<numElem;i++){
            order[i]=false;
        }
    }
    Order(int num){//Конструктор с количеством элементов
        numElem = num;
        order = new bool(numElem);
        for(int i=0;i<numElem;i++){
            order[i]=false;
        }
    }
    ~Order(){//Деструктор
        delete order;
    }
    int Enter(){ //Добавление объекта и получение его id
        int i=0;
        while(order[i]){
            i++;
            if(i==numElem)return -1;
        }
        order[i]=true;
        return i;
    }
    void Leave(int elem){//Удаление объекта по id
        if(elem<numElem)
            order[elem]=false;
    }
    bool Check(int elem){
        return order[elem];
    }
protected:
};
.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include "class.h"
 
using namespace std;
 
Order *order;
 
int main(){
    order = new Order();
    cout << order->Check(0) << endl;
    system("pause");
 
    return 0;
}
При запуске вылезают ошибки в popup:
1. TestClass.exe вызвал срабатывание точки останова.
2. Необработанное исключение по адресу 0x77E7AA3C (ntdll.dll) в TestClass.exe: 0xC0000374: Куча была повреждена (параметры: 0x77E8FE38).
3. Необработанное исключение по адресу 0x60911360 (msvcp110.dll) в TestClass.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x0000001C.

Это простейшие ошибки доступа к памяти, ну например - если объявлен массив в 10 элементов, а я обращаюсь к 20тому элементу, то я тоже такие ошибки увижу, но тут то что? Помогите, прошу, никогда не встречался с такой проблемой

MSVS2012
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru