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

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

Войти
Регистрация
Восстановить пароль
 
Bynary
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 15
#1

Copy-Constructor В Шаблонном Связном списке - C++

17.04.2012, 19:42. Просмотров 429. Ответов 1
Метки нет (Все метки)

Скажіте пожалуйста где тут ошыбка?

Добавлено через 49 секунд
Ран тайм ерор кидает
в копи конструкторе 100%
вот код
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
template<class T>
struct Elem
{
    T *d;
    Elem *next;
    Elem *prev;
    Elem():d(new T),next(0)
    {}
    ~Elem()
    {
        delete d;
    }
};
template<class T>
class stack
{
    Elem<T>*first,*cur;int size;
public:
    stack():first(0),cur(0),size(0)
    {
    }
    stack(const stack& st)
    {
        for(int i=0;i<st.size;++i)
        {
            push(st.get(i));
        }
    }
    stack& operator = (const stack& st)
    {
        if(&st!=this)
        {
        for(int i=0;i<st.size;++i)
        {
            push(st.get(i));
        }
        }
        return *this;
    }
    void push(T *_d)
    {
        if(!first)
        {
            Elem<T>* newel=new Elem<T>;
            *newel->d=*_d;
            newel->next=0;
            newel->prev=0;
            first=newel;
            cur=first;
            ++size;
        }
        else 
        {
            Elem<T>* newel=new Elem<T>;
            *newel->d=*_d;
            newel->next=0;
            newel->prev=cur;
            cur->next=newel;
            cur=newel;
            ++size;
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 19:42     Copy-Constructor В Шаблонном Связном списке
Посмотрите здесь:

this и Copy-Constructor - C++
Скажите пожалуйста почему даный еод вызывает RTE(Run Time Error) Добавлено через 1 минуту Engine engg(*this); Где this...

Copy constructor - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace::std; class alpha{ int data; public: alpha() {} alpha(int d) :...

copy constructor operator= - C++
сижу я значит почитываю черновик будущего стандарта и вижу const C&amp; C::operator=( const C&amp; other) { if ( this != &amp;other ) { ...

Default copy constructor - C++
Что default copy constructor делает, из-за чего мой NRVO выводит разные адресса, если оставить его по умолчанию. А если переопределить...

что делает copy constructor? - C++
что делает copy constructor?

Copy Constructor Question .Generic inheritance. Templates - C++
Допустим есть проект // // (---.Array_hpp---) // #ifndef Array_HPP // Preprocessor gates #define...

Очередь на связном списке - C++
OldTail-&gt;next-&gt;tail; ругается на эту строчку, пишет class QueueNode не содержит члена tail и просмотрите, пожалуйста, остальной код....

Пузырёк на связном списке - C++
Здравствуйте! Не могли Вы подсказать, почему после первого прохождения по списку все остается как было. Т.е. элементы переставляются, но...

непонятка в связном списке - C++
есть 2 конструктора - list(const str&amp;) и list() если в main использую 1ый конструктор, то всё работает, если 2ой - ошибка, всякие там...

Удаление головы в Связном списке C++ - C++
Ребят, в чем ошибка? Вроде все проверил, но почему-то вылетает с ошибкой при попытке удалении головы списка, не могу понять в чем проблема....

Исправить ошибки в связном списке - C++
Почти готовая лабораторка, но не хватает несколько деталей. Помогите решить проблему, пожалуйста! Задание : 1. Создание списка из...

Как удалить узел в связном списке? - C++
привет всем! подскажите пожалуйста в подробностях как происходит удаление узла в алгоритме связного списка ?? #include &quot;stdafx.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soft.creator
104 / 104 / 4
Регистрация: 17.10.2010
Сообщений: 283
18.04.2012, 10:45     Copy-Constructor В Шаблонном Связном списке #2
Вот это все должно быть и в конструкторе копирования тоже:
C++
1
:first(0),cur(0),size(0)
P.S. А в операторе присваивания сначала надо удалять текущий список, а уже потом копировать новый
Ответ Создать тему
Опции темы

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