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

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

Войти
Регистрация
Восстановить пароль
 
MAnton
23 / 23 / 1
Регистрация: 21.04.2011
Сообщений: 139
#1

Что-то непонятное с памятью - C++

03.11.2012, 11:41. Просмотров 267. Ответов 1
Метки нет (Все метки)

Есть два класса, базовый:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Rand{
    protected:
        double *masRand;//Указатель на массив сл.вел
        long size;//Размер массива
    public:
        double* rnd(
                    long N = 100,
                    long x0 = 9340718,
                    long M = 1073741824,
                    long a = 484331,
                    long c = 453816693);
        Rand(long N = 100);
        ~Rand();
        void Print();
        double& operator[](long i);
        long GetSize();
        double* GetMas();
};
и производный:
C++
1
2
3
4
5
6
class RavnRand: public Rand
{
    public:
    RavnRand(long N = 100,long max_n=10);
    ~RavnRand();
};
и реализация конструктора RandRavn
C++
1
2
3
4
5
6
7
RavnRand::RavnRand(long N,long max_n):Rand(N)
{
     for(long i = 0;i < size; i++){
         masRand[i]=floor(masRand[i] * (max_n + 1));
cout << masRand[i] << endl; 
}
}
При создании объекта типа Rand все работает.
Но при создании объекта типа RavnRand происходит что-то мне непонятное, создается masRand но при этом в консоль помимо значений masRand[i] выводятся такие строки:

*** glibc detected *** /home/anton/Project/C++/SlVel/bin/Debug/SlVel: double free or
corruption (top): 0x0000000000a64340 ***
========= Backtrace: ===========
тут много всяких строк
========= Memory map:==========
и тут тоже

Aborted (core dumped)

Я так понимаю какие-то проблемы с памятью (или нет?). Но отчего все это происходит?

P.S. Еще бы кто нибудь подсказал как из консоли текст скопировать
Работаю в CodeBlocks 10.05
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 11:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что-то непонятное с памятью (C++):

turbo c++ и что-то непонятное - C++
Это задание по C++ на динамическое выделение памяти. Вылетает при освобождении памяти. Компилятор Turbo C++(другой нельзя). На одном из...

Программа выводит что-то непонятное - C++
Помогите пожалуйста, подскажите, почему программа бред выводит? Вот программа. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

fread творит что-то непонятное - C++
Вот код:#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;cstring&gt; #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;windows.h&gt; ...

Namespace & #include что-то непонятное - C++
Есть проект состоящий из множества файлов cpp и h. и имена классов в них пересекаются, но не беда оборачиваю эти классы в namespace...

Что происходит с освободившейся от указателей памятью? [gcc-4.7.2] - C++
Что происходит в следующих случаях с памятью выделенную под переменные? 1) Объявление в операторных скобках: { int variable; } ...

Непонятное выражение - C++
Что тут написано? p = array;

1
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.11.2012, 11:54 #2
Где-то идет повторное освобождение памяти.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2012, 11:54
Привет! Вот еще темы с ответами:

непонятное строка? - C++
#include &lt;iostream&gt; using namespace std; int main() { void intfrac(float, float&amp;, float&amp;); float number, intpart,...

Непонятное условие - C++
Problem 3. Given two positive integers a, m. Find the inverse element of a by modulo m, i.e., the solution x for which ax = 1 (mod m) and...

Непонятное задание - C++
В университете дали задание,а я не очень понимаю как его делать: С клавиатуры вводится R. Вычислить количество точек с целочисленными...

Непонятное условие while - C++
Вообщем попрошу знатоков объяснить мне пару строк ( смотреть комментарии к коду ) #include &lt;iostream&gt; const int ArSize = 10; void...


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

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

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