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

Реализовать список, поля которого могут хранить разные типы данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись и чтение из файла http://www.cyberforum.ru/cpp-beginners/thread169954.html
Доброго время суток! Так от балди решыл набросать прогу которая создаёт файл записывает туда 11 рандомных чисел,потом з помощю ifstream я считую данные из файла,заношу в масив и сортирую.Непонимаю...
C++ Вычислить и вывести на экран значения функции F http://www.cyberforum.ru/cpp-beginners/thread169937.html
Дружественные классы C++
Помогите !!! Завтра надо сдавать а я ету тему совсем непонимаю... Создайте класс Matrix для хранения матрицы целого типа. Создать конструктор, который позволяет объекту этого класса принимать...
Начинающему с нуля C++
Здравствуйте. Сейчас сентябрь, и до конца семестра надо сдать курсовик за прошлый год. Дело в том ,что в программировании я нуль, а через 3 месяца надо создать работоспособную игру арканоид. У меня...
C++ Функция, определяющая в строке позицию слова с заданным номером http://www.cyberforum.ru/cpp-beginners/thread169909.html
Помогите пожалуйста) Функция определяет в строке позицию слова с заданным номером, С++ Функція визначає у рядку позицію слова з заданим номером на С++
C++ Вывод даты на экран в нескольких форматах Помогите пожалуйста!!! требуется составить класс описывающий тип дата.Класс должен включить в себя атрибуты ,описывающие месяц,год,день и иметь методы: 1)для вывода на экран в нескольких... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.09.2010, 23:16
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
#include <iostream>
 
template<typename T>
struct ListNode {
  ListNode(const T& data, ListNode* next)
  : data(data)
  , next(next) {
  }
  
  T         data;
  ListNode* next;
};
 
template<typename T>
class List {
public:
  List()
  : head(0) {
  }
  
  void Add(T data) {
    head = new ListNode<T>(data, head);
  }
  
  void Traverse(void function(ListNode<T>*)) {
    for (ListNode<T>* curr = head; curr; curr = curr->next)
      function(curr);
  }
  
private:
  ListNode<T>* head;
};
 
template<typename T>
void Print(ListNode<T>* node) {
  std::cout << node->data << std::endl;
}
 
int main() {
  List<int> list;
  
  list.Add(1);
  list.Add(2);
  list.Add(3);
  list.Add(4);
  
  list.Traverse(Print);
  
  return 0;
}
Результат: http://liveworkspace.org/code/044206287d62a1a2eb5b908325c9b9c2
Набор методов расширите сами.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru