Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
1

list

02.08.2012, 01:01. Показов 911. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане.
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
#include <iostream.h>
#include <list>
#include <conio.h>
 
template <class T>
class Array
{
    list<int>_list;
        public:
    Array();
    ~Array();
    void push();
};
 
template <class T>
void Array<T>::push()
{
    cout<<"Vvedite elementu: ";
 
}
 
 
int main()
{
 
 
    getch();
    return 0;
}
Вопрос такой:
как воспользоваться листом в функции и как эту функцию вызвать ф мейне
заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2012, 01:01
Ответы с готовыми решениями:

Ошибка при компиляции undefined reference to `List<int>::List()'|
Доброго времени суток=) столкнулась с такой проблемой нужно написать шаблон класса. При компиляции...

Как пройти по List, отыскать дубликаты и записать их в другой List?
Добрый вечер, у меня есть List из 10 элементов, мне необходимо найти в нем все повторяющиеся...

Сделать реализацию list (классы node и list) на шаблонах
Помогите написать прогу Необходимо: Сделать реализацию list (классы node и list) на шаблонах....

Invalid operands of types 'List*' and 'List*' to binary 'operator+'
Я создал список из 4 елементов( 3.5.1.9)и выбивает такая ошибка когда хочу посчитать сумму...

12
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
02.08.2012, 01:04 2
list:: push_back(value) ,если мне не изменяет память .

вывод на примере числового типа:
list<int> a ;
...

for(list<int>::iterator iter = a.begin();iter!=a.end();++iter)
cout<<*iter<<' ';
1
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
02.08.2012, 01:05 3
где взял этот пример?
0
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
02.08.2012, 01:06  [ТС] 4
но можно полностью для нуба
0
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
02.08.2012, 01:06 5
библиотека stl
0
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
02.08.2012, 01:07  [ТС] 6
novi4ok, сам пытаюсь написать, это не пример
0
3 / 3 / 0
Регистрация: 27.07.2012
Сообщений: 19
02.08.2012, 01:13 7
http://www.codenet.ru/progr/cpp/stl/istl.php

Добавлено через 3 минуты
template <class T>
void Array<T>:: push(T val)
{
//cout<<"Vvedite elementu: ";Негоже контейнеру разговаривать с пользователем ,но это мое
//видение .
_list.push_back(val);


}
1
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
02.08.2012, 01:19  [ТС] 8
а в мейне
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 02:21 9
Вы объявили шаблонный класс для обобщённого типа данных T, и нигде в классе этот тип данных не используете. Наверное, можно, что-то такое написать:
Код
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 <list>
#include <conio.h>
using namespace std;
 
template <class T>
class Array
{
    list<T>_list;
        public:
    Array()
    {}
    ~Array()
    {}
    int push();
    void show();
};
 
template <class T>
int Array<T>::push()
{
    cout<<"Vvedite elementu: ";
    T temp;
    while (cin >> temp && temp != EOF) 
      _list.push_back(temp);
    cin.clear();
    return 0;
}
 
template <class T>
void Array<T>::show()
{
    if (_list.empty()) cout << "List empty!" << endl;
    else
    for (list<T>::iterator iter = _list.begin(); iter != _list.end(); iter++)
        cout << *iter << endl;
    
}
 
 
int main()
{
    Array<int> a;
    a.push();
    a.show();
 
    Array<char> b;
    b.push();
    b.show();
 
    getch();
    return 0;
}
Прерывание ввода сами додумайте. Тут неудачное. Для char - нормально. Для int и double при -1 будет срабатывать. Да и, вообще, в методах не рекомендуется ввод делать.
1
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
02.08.2012, 13:07  [ТС] 10
а как добавлять по одному элементу в конец списка и удалять по одному элементу в начале
заранее спасибо
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.08.2012, 14:10 11
C++
1
2
_list.pop_front();
_list.push_back( obj );
Добавлено через 3 минуты
Еще можно наследовать

C++
1
2
3
4
5
template <class T>
class Array :public std::list<T> 
{
//....
}
1
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 15:33 12
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
а как добавлять по одному элементу в конец списка и удалять по одному элементу в начале
заранее спасибо
push_back(const T &val) - добавить элемент со значением val в конец списка.
push_front(const T &val) - добавить - в начало списка.
pop_back() - удалить последний элемент.
pop_front() - удалить первый элемент.
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.08.2012, 15:34 13
http://www.cplusplus.com/reference/stl/list/
1
02.08.2012, 15:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2012, 15:34
Помогаю со студенческими работами здесь

у меня созданы 2 фаила - один с классом (называется list.h), а другой с реализациями функций (list.cpp).
у меня созданы 2 фаила - один с классом (называется list.h), а другой с реализациями функций...

Записать в файл list (очередь) объектов, в которых содержатся строки string, и считать с файла обратно в list
Извините подскажите пожалуйста, как записать list(очередь) объектов в которых содержаться string, и...

Реализация std::list, сложность list::size()
Часто приходилось пользоваться Listом, но сейчас столкнулся с небольшой неоднозначностью. ...

undefined reference to `List<int>::List()'
#include&lt;iostream&gt; #include &lt;cstdlib&gt; #include&lt;string&gt; using namespace std; template&lt;typename...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru