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

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

Войти
Регистрация
Восстановить пароль
 
 
AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 533
#1

Заюзанный вектор в конструкторе взрывается, самоуничтожается, очищается, отправляется в адд - C++

05.02.2012, 04:46. Просмотров 1029. Ответов 23
Метки нет (Все метки)

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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <set>
 
using namespace std;
 
#define F_SIZE 30
#define DICE 6
 
 
class field{
private:
    vector<int*> rms;
    int *something(){
        return new int(DICE);
    }
public:
    field(bool autogen){
        if(autogen){
            int n = 5;
            while(n--){
                rms.push_back(something());
            }
        }else{
            cout << "Have not writed yet;\n";
            //herein we have to write something...
        }cout << rms.size();
        cout << " | end of field's constructor.\n";
    }field(){
        field(true);
    }void show(){
        cout << rms.size() << ":\n";
        for(vector<int*>::iterator i = rms.begin(); i != rms.end(); i++){
            cout << "(" << (**i) << "; " << (**i) << ")";
            cout << " |=| ";
            cout << "(" << (**i) << ";" << (**i) << ")";
            cout << endl;
        }
    }
};
 
int main(){
    field fl;
    fl.show(); //WTF!?. Why vector erased after constructor?..
    return 0;
}
Вывод:
Код
5 | end of field's constructor.
0:
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2012, 04:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заюзанный вектор в конструкторе взрывается, самоуничтожается, очищается, отправляется в адд (C++):

Добавление в вектор объекта класса в конструкторе - C++
Почему у меня не получается сделать вот так? vector &lt;C&gt; Vec; class C { public:

Мозг взрывается - C++
Помогите пожалуйста, не могу понять почему консольное окно закрывается, пробовала всё что только можно :fgetc(stdin);system (&quot;pause &gt;&gt;...

STM32 и DS1621 измерение температуры. Взрывается моск! - ARM
Здравствуйте, Уважаемые участники форума! Прошу у Вас помощи!!! Взрывается моск!!! Нужна консультация человека, который знает как свои 5...

Постоянно падает скорость интернета, и пинг "взрывается" - Удаление вирусов
Всем привет, компьютерные гении!:) И так, к делу. Очень прошу помочь или хотя бы разобратся кто виноват. У меня интернет провайдер...

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс &quot;вектор&quot; с конструкторами, которые позволяют создать нулевой вектор и вектор с...

не очищается listbox - C++ Builder
void __fastcall TForm1::Button2Click(TObject *Sender) { ListBox1-&gt;Clear(); //пробовал так ListBox1-&gt;Items-&gt;Clear(); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 11:24 #16
AnyOne697, да почему? Создавать объект так же:
C++
1
field fl;
AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 533
05.02.2012, 11:26  [ТС] #17
Он и не думает использовать параметризованный конструктор, даже с параметрами по умолчанию! Вроде...
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
05.02.2012, 11:27 #18
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Вроде...
так "вроде" или нет? Приведи исправленный код
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 11:27 #19
AnyOne697, вам Nameless One показал код, который вы, похоже, даже не попытались скомпилировать. Что ж, сделаем это за вас: http://liveworkspace.org/code/e03450...e32c3d136dc1e2
AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 533
05.02.2012, 11:29  [ТС] #20
Странно =/ Видимо я очепятался или компилятор меня...
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
05.02.2012, 11:30 #21
Ну и собственно:
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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <set>
 
using namespace std;
 
#define F_SIZE 30
#define DICE 6
 
 
class field{
private:
    vector<int*> rms;
    int *something()
    {
        return new int(DICE);
    }
public:
    field(bool autogen = true)
    {
        if(autogen)
    {
            int n = 5;
            while(n--)
        {
                rms.push_back(something());
            }
        } else {
            cout << "Have not writed yet;\n";
            //herein we have to write something...
        }
    cout << rms.size();
        cout << " | end of field's constructor.\n";
    }
    void show()
    {
        cout << rms.size() << ":\n";
        for(vector<int*>::iterator i = rms.begin(); i != rms.end(); i++)
    {
            cout << "(" << (**i) << "; " << (**i) << ")";
            cout << " |=| ";
            cout << "(" << (**i) << ";" << (**i) << ")";
            cout << endl;
        }
    }
};
 
int main(){
    field fl;
    fl.show(); //WTF!?. Why vector erased after constructor?..
    return 0;
}
вывод приводить?
AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 533
05.02.2012, 11:30  [ТС] #22
А какой копилятор юзает LWS?..
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 11:31 #23
AnyOne697, последний g++. Но и не последний работает по таким же правилам.
AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 533
05.02.2012, 11:32  [ТС] #24
Да, всё работает, что есть странно и, вместе с тем, интересно...

Спасибо! Просветили!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2012, 11:32
Привет! Вот еще темы с ответами:

Не очищается PictureBox - Visual Basic .NET
Народ, заранее извиняюсь ибо чайник, но вспоможите кто может. Весь инет перевернул, но не нашел. Я так понимаю, что сейчас метода Cls в...

Не очищается TextBox - C#
private void button1_Click(object sender, EventArgs e) { textBox1.Clear(); int symbols =...

Не очищается массив - PHP
делаю пример из книги и не понимаю почему не очищается корзина! Помогите разобраться в чем дело Вот код контроллера &lt;?php...

Очищается qmap - C++ Qt
объявляю QMap&lt; QString*,QPair&lt;QString,QDate*&gt;* &gt; COOKIE; дальше в методе пишу QString *s = new...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.02.2012, 11:32
Ответ Создать тему
Опции темы

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