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

Шаблонный класс List - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Директивы препроцессора.Ошибка #error не работает. http://www.cyberforum.ru/cpp-beginners/thread386266.html
Ребят программа должна выдавать сообщение об ошибке и прекращать компиляцию.,если,X или Y неопределены Делаю #error,но почему-то подчеркивает красным #include <iostream> #include <stdio.h> #include <fstream> using namespace std; #define X
C++ Ошибка в программе вот код программы: #include <iostream> #include <fstream> #include <string> using namespace std; int main() { cout << "Enter name file" << endl; string name; http://www.cyberforum.ru/cpp-beginners/thread386265.html
Умножение матриц. Проверка Ошибок. C++
Снова здрасте. В общем, я почти закончил свою программу. Так мне кажется. Но, при компиляции создается екзешник, затем по началу программа работает. Ввожу элементы матрицы, но до самих расчетов не доходит. Вот сам исходник: #include <iostream> #include <conio.h> using namespace std; int main() { int i=1,j=1,k=1,l=1; int sum , rd1 , st1 , rd2 , st2 ;
C++ Что делать если нет функции Tools
А у меня нет функции Tool что делать?????
C++ Строки http://www.cyberforum.ru/cpp-beginners/thread386245.html
Помогите найти ошибку. я как-то неправильно определяю длину строки. И еще пару ошибок непонятных. #include <iostream> #include <conio.h> #include <string> using namespace std; void stroki(string s1, string s2=" ") {if (s2=" ") {int ds1=s1.size; cout<<"Lenght="<<ds1;} else{ if (s1>s2) {cout<<"The first string longer then the second";}
C++ Разобраться в некоректности программы!(англо-русский словарь лин. списком) Здравствуйте,помогите пожалуйста с программой,требуется написать программу для русско-английского словаря,читать слова из текстового файла и хранить с помощью лин. списка. Написал код,компилится,а вот не работает как задумывалось,где-то ошибка с памятью или ещё в чём-то,подозрения на функцию CreateLinSpis #include<iostream> #include<fstream> #include <windows.h> struct LE { char text;... подробнее

Показать сообщение отдельно
ramarren14
2 / 2 / 0
Регистрация: 14.07.2011
Сообщений: 49
18.11.2011, 13:38  [ТС]     Шаблонный класс List
Так? Все равно те же ошибки выдает.
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#ifndef LIST_H
#define LIST_H
#include <iostream>
 
template <class T>
class Node
{
public:
    Node(T data,Node* next,Node* last)
{
    this->data=data;
    this->next=next;
    this->last=last;
}
    
Node(T data)
{
    this->data=data;
}
 
private:
    Node * next;
    Node * last;
    int key;
    T data;
};
 
 
 
template <class T>
class List
{
public:
    friend class Node<T>;
    List():
    head(NULL),
    temp(NULL)
    {}
 
    void AddNodeEnd(T data)
    {
        Node * nd=new Node(data,NULL,temp);
    temp=nd;
    if (head)
    {
        Node* current=head;
        while(current->next)
            current=current->next;
            current->last=nd;
    }
    else head=nd;
    numNode();
    }
 
    void AddBegining(T data)
    {
            Node* nd=new Node(data);
    if(head)
    {
        Node* tmpt=head;
        head=nd;
        nd->next=tmpt;
    }
    else 
    {
        head=nd;
        nd->next=NULL;
    }
    numNode();
    }
 
    void deleteNodeEnd()
    {
            if (temp)
    {
        Node* current=temp;
        current=current->last;
        delete current->next;
        current->next=NULL;
    }
    else
    std::cout<<"list is empty";
    }
 
    void deleteNodeBegin()
    {
            if (head)
    {
        Node* tmpt;
        tmpt=head;
        tmpt=tmpt->next;
        delete head;
        head=tmpt;
    }
    else
    std::cout<<"list is empty";
    }
 
    T find(int key) const
    {
            Node* current;
    current=head;
    while(current)
    {
        if (current->key==k)
            return current->data;
        current=current->next;
    }
    }
 
    void PrintListForward() const
    {
        Node* current=head;
    while(current)
    {
        std::cout<<current->data<<" ";
        current=current->next;
    }
    }
 
    void PrintListBack() const
    {
            Node* current=temp;
    while(current)
    {
        std::cout<<current->key<<" "<<current->data;
        current->last;
    }
    }
 
    void numNode() const
    {
            Node* counter=head;
    int i=0;
    while (counter)
    {
        counter->key=++i;
        counter=counter->next;
    }
    }
 
private:
    Node* head;
    Node* temp;
};
 
 
 
#endif LIST_H
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include "List.h"
using namespace std;
 
int main()
{
    List<int> n;
    n.AddBegining(12);
    n.AddBegining(45);
    n.AddBegining(10);
    n.AddBegining(70);
    n.AddBegining(0);
    n.AddBegining(55);
    n.PrintListForward();
    return 0;
}
 
Текущее время: 11:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru