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

Создание шаблона однонаправленный список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как повторить программу http://www.cyberforum.ru/cpp-beginners/thread324691.html
Как сделать чтоб если я с клавиатуры в консоли введу "y" программа повторилась а если "n" то завершилась?
C++ перепишите на C++ пожалуйста Перепешите пожалуйста на С/С++. uses crt; var a:array of integer; n,i:integer; begin writeln('Введите любые числа от -10 до 10'); read(n); for i:=-10 to n do read(a); if a>0 then... http://www.cyberforum.ru/cpp-beginners/thread324690.html
C++ гаус над диагональю
Как сделать Нули над главной диагональю? Где ошибка. #include <iostream.h> #include<stdio.h> #include <conio.h> #include <math.h> const int n=3; double y; double par,s,r; int i,j,ii,k,jj,t=1;
Удалить и переименовать фаил C++
Уважаемые форумчане,подскажите как можно удалить и переименовать фаил?
C++ www-http сниффер. Как отследить HTTP запросы? http://www.cyberforum.ru/cpp-beginners/thread324660.html
Посмотрел я вот эту статью: http://www.cyberguru.ru/cpp-sources/network/primer-prostejshego-sniffera-dlya-windows-2000/xp.html Возникает вопрос: Как отследить HTTP запросы? Посоветуйте, что...
C++ заданно матрицу смежности простого графа. Построить каркас этого графа с использованием поиска вширь Задание: заданно матрицу смежности простого графа. Построить каркас этого графа с использованием поиска вширь. Помогите написать программу! Именуйте темы осмысленно! Название темы должно... подробнее

Показать сообщение отдельно
Shepard90
5 / 5 / 0
Регистрация: 18.10.2010
Сообщений: 140

Создание шаблона однонаправленный список - C++

23.06.2011, 00:27. Просмотров 1190. Ответов 9
Метки (Все метки)

Как же меня задолбал этот гребанный С++!!! И VStudio впридачу!
Задание: составить шаблон класса "Однонаправленный список" перегрузив операции:
  • Присваивание
  • Добавление в конец списка
  • удаление элемента с конца списка
  • сравнение списков(операция !=)
(без использования STL видимо)

На данный момент накатал такой вот левый код:

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
#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#include <iostream>
using namespace std;
 
template <class T>
struct Data
{
    T* next;
    T t;
};
 
template <class T>
class List
{
public:
    List();
    ~List();
    List& operator=(const Data<T>&);
    List& operator+();
    List operator-(const Data<T>&);
    bool operator!=(const List&) const;
    void Print(){cout<<first->t;};
private:
    Data<T>* first;
    Data<T>* last;
};
 
template <class T>
List<T>::List()
{
    first=new Data<T>;
    last=first;
    first->next=new T;
    //first->next=NULL;
    first->t=0;
}
 
template <class T>
List<T>::~List()
{
    delete first;
}
template <class T>
List<T>& List<T>::operator=(const Data<T>& rhs)//присваивание
{
    this->last->t=rhs.t; 
    return *this;
}
template <class T>
List<T>& List<T>::operator+()//добавление элемента списка
{
    this->last=this->last->next;
    this->last->next=new T;
    //last->next=NULL;
    this->last->t=0;
    return *this;
}
int _tmain(int argc, _TCHAR* argv[])
{
    List<int> L;
    Data<int> A;
    A.next=NULL;
    A.t=1;
    L=A;
    A.t=2;
    +L;
    L.Print();
    _getch();
}
... Некомпиллится зараза
Выдает ошибку на добавлении элемента. В чем ошибка не пойму? И так самый простой вариант выбрал, чтоб копировщик не писать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru