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

Шаблон - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано число n. Найти сумму n-значных чисел http://www.cyberforum.ru/cpp-beginners/thread191461.html
Кто может решит такую задачу. Дано число n. Найти сумму n-значных чисел. Ограничениа 0<n<=100. Хочу сказать что эту задачу я решил, просто интересно кто кокой алгоритм придложет.
C++ Удаление узла бинарного дерева всем привет.вот есть у меня бинарное дерево тока фун-ии добавления и обхода.очень нужно удалени помогите плиз. .cpp #include <iostream> using namespace std; #include "TreeNode.h" int main(void) { TreeNode ob(3); ob.AddElement(5); http://www.cyberforum.ru/cpp-beginners/thread191442.html
C++ Это массив?
static int attrListSgl = {GLX_RGBA, GLX_RED_SIZE, 4, GLX_GREEN_SIZE, 4, GLX_BLUE_SIZE, 4, GLX_DEPTH_SIZE, 16, None}; Это массив?
Что это структура? C++
#include<stdio.h> #include<stdlib.h> #include<X11/X.h> #include<X11/Xlib.h> #include<GL/gl.h> #include<GL/glx.h> #include<GL/glu.h> Display *dpy; Window root;
C++ delete или new (typeid(void*))(void*) http://www.cyberforum.ru/cpp-beginners/thread191389.html
Доброе время суток. Пишу список. Телом каждого элемента (el) списка является void указатель(body). (предполагается что тело элемента может быть любого типа, т.е. переменные, классы, другой такой же список и т.д.) Критерий - универсальность и скорость. У меня получилось что-то типа (*el).body = new typeid(NewType); где NewType - параметр функции, void * на какую либо известную переменную...
C++ отсортировать текст Помогите плиз... Отсортировать текст по длине слов в порядке возрастания. В тексте несколько строк. Исходный текст должен содержаться в одном файле, результат — во втором файле. решение нужно в си. подробнее

Показать сообщение отдельно
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
15.11.2010, 11:41     Шаблон
Всем доброе время суток))
Вот нпаисал прогу:
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
#include <string.h>
#include <iostream>
using namespace std;
 
template<class T>
class List{
private:
        struct Element{
                T key;
                Element *next;
        };
        Element* pbeg;
        Element* pend;
public:
        List(){
                pbeg = 0;
                pend = 0;
        }
        T& operator <<(int a);
        T& operator >>(int& a);
        void print();
        ~List(){
            while(pbeg){
                Element* temp = pbeg;
                pbeg = pbeg->next;
                delete temp;
                temp = 0; 
            }
        }
};
 
template<class T>T& List<T>::operator << (int a){
    Element* ph = new Element;
    ph->key = a;
    ph->next = 0;
    if (pend!=0){
        pend->next = ph;
        pend = ph;
    }
    else{
        pbeg = ph;
        pend = ph;
    }
    return *this;
}
template<class T>T& List<T>::operator>>(int &a){
    if(pbeg){
        a = pbeg->key;
        Element* ph = pbeg;
        pbeg = pbeg->next;
        delete ph;
        return *this;
    }
    else{
        throw "Нет элементов!\n";
    }
}
template<class T>void List<T>::print(){
    Element* temp = pbeg;
    while(temp){
        cout << " " << temp->key;
        temp = temp->next;
    }
    cout << endl;
}
int main(){
    setlocale(LC_ALL,"Russian");
    List<int> w; int b=0;int a;
    while(true){
        cout<<"1) Заполнить очередь"<<endl;
        cout<<"2) Вывести на экран"<<endl;
        cout<<"3) Удалить элемент"<<endl;
        cout<<"0) Выход"<<endl;
        cout<<"Ввод: "; cin>>b;
        if (b == 1){
            system("cls");
            cout<<"Введите значение: ";
            cin>>a;
            w<<a;
        }
        if (b == 2){
            system("cls");
            cout<<"Список: ";
            w.print();
            cout<<endl;
        }
        if (b == 3){
            try{
                system("cls");
                w>>a;
            }
            catch(char error){
                cout<<error<<endl;
            }
        }
        if (b == 0)break;
    }
}
Но не могу сделать так что бы переменная "а" принимала тот же тип, что и шаблон. И еще выдает ошибку когда пытаюсь сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template<class T>T& List<T>::operator << (int a){
    Element* ph = new Element;
    ph->key = a;
    ph->next = 0;
    if (pend!=0){
        pend->next = ph;
        pend = ph;
    }
    else{
        pbeg = ph;
        pend = ph;
    }
    return *this;//error C2440: return: невозможно преобразовать "List<T>" в "int &"
}
Ну и во сторой функции тоже самое. Помогите плиз)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru