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

Перегрузка оператора индексации в списке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ (void) в макросе define http://www.cyberforum.ru/cpp-beginners/thread863459.html
Добрый день! Разбираюсь со строкой: #define lua_readline(L,b,p) \ ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \ fgets(b, LUA_MAXINPUT, stdin) != NULL) /* get line */ Что делает: (void)L? Только для того, что бы не было warning-ов при компиляции? Или при определении макросов, у данной строчки другая цель? Спасибо!
C++ Игра Угадай Слово ошибка в коде Здравствуйте,проблема в том, что программа работает не корректно. А именно в начале программы при вводе "да" игра закрывается, хотя наоборот должна начаться. Помогите пожалуйста. Собственно вот код : #include <iostream> #include <string> #include <cstdlib> #include <ctime> #include <cctype> using std::string; const int NUM = 20; const string wordlist = {"àðáóç", "áàáóøêà", "âîðîáåé", ... http://www.cyberforum.ru/cpp-beginners/thread863424.html
C++ создать программу для сравнения алгоритмов сортировки
создать программу для сравнения алгоритмов сортировки (Выбором и Пузырьком)т.е. чтоб выдавал время построения массива.Помогите очень нужно.Желательно с объяснением.
Сравнить n-чисел и найти максимальное и минимальное значение, не прибегая к if C++
Надо сравнить n-чисел и найти максимальное и минимальное значение, не прибегая к ужасным разветлению оператора if?
C++ Рекурсивная структура http://www.cyberforum.ru/cpp-beginners/thread863390.html
Добрый день! Стоит задача написать односвязный список. Как все работает в общем я представляю, а конкретно я понимаю это так: имеем общую структуру элемента: struct List { int item; List *Next; };
C++ Сортировка Шелла Добрый день! Как сделать сортировку методом Шелла, если у меня числа в массив можно ввести и с клавиатуры и случайные числа. В массиве 100 элементов. register int i, j, gap, k; char x, a; a=9; a=5; a=3; a=2; a=1; for(k=0; k < 5; k++) { подробнее

Показать сообщение отдельно
stima
457 / 306 / 24
Регистрация: 22.03.2011
Сообщений: 996
Завершенные тесты: 2
13.05.2013, 17:01     Перегрузка оператора индексации в списке
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
#include <iostream>
 
template <typename T>
class List
  {
    template <typename U>
    friend std::ostream& operator<<(std::ostream& out, const List<U>& list);
 
    struct Node
      {
      Node() : next(0), prev(0) {}
 
      T data;
      Node *next;
      Node *prev;
      };
 
  public:
    List();
 
    void push_back(const T& data);
    
    T& operator[] (int index);
 
  private:
    Node *head;
    Node *curr;
  };
 
template <typename T>
List<T>::List() : head(0), curr(0) {}
 
template <typename T>
void List<T>::push_back(const T& data)
{
  Node *node = new Node();
  if (!head)
    {
    head = node;
    }
  else
    {
    node->prev = curr;
    curr->next = node;
    }
 
  curr = node;
  curr->data = data;
}
 
template <typename T>
T& List<T>::operator[] (int index)
  {
  Node *node = head;
  for (int i = 0; i < index; ++i)
    node = node->next;
 
  return node->data;
  }
 
template <typename T>
std::ostream& operator<<(std::ostream& out, const List<T>& list)
  {
  for (List<T>::Node *node = list.head; node != 0; node = node->next)
    out << node->data << " ";
  return out;
  }
 
int main()
  {
  List<int> list;
 
  list.push_back(1);
  list.push_back(2);
  list.push_back(3);
 
  list[2] = 42;
 
  std::cout << list << std::endl;
  std::cin.get();
 
  return 0;
  }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru