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

Как реализовать работу со списком строк и списком цифр в классе List? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Паркет http://www.cyberforum.ru/cpp-beginners/thread162869.html
есть паркет (см. рисунок) даны кординати нижней левой и правой верхней точки (в даном случае 4 4 и 12 10) закрашеной области. нужно определить сколько внутри этой области прямоугольников 1х1, 1х2, 1х3, 1х4, 1х5. в даном случае 6 1 0 0 8 соответственно. закрашеная область может быть произвольной
C++ Link error на inline функцию Почему выдает ошибку undefined reference to `OldCat::GetAge() const' на inline ф-цию при ее вызове? Убираю inline, все компилится нормально. Функция простая: inline int OldCat::GetAge() const { cout << "Calling function GetAge..." << endl; return itsAge; } http://www.cyberforum.ru/cpp-beginners/thread162841.html
C++ Какая должна быть структура сложного (объемного) проекта?
Работа программы начинается с выполнения функции main(). В самой программе куча функций и классов. Как организовать структуру достаточно сложного проекта (программы), чтобы не "утонуть" в ней? Насколько я понимаю, удобнее всего каждый осмысленный блок выделять в отдельный файл + хедеры также отдельным блоком, чтобы не мешались :) То есть получается нечто такое: main.cpp - укрупненная логика...
C++ #include <list> - конфликт using namespace std с другими инклюдами
Всем привет. Появилась надобность использовать списки, однако #include <list> подключается только вместе с using namespace std. Мои инклюды #pragma once #include "network.h" #include <d3dx9.h> #include "L_text.h" #include "L_smesh.h" #include "L_camera.h" #include "L_terrain.h"
C++ WMI и Dev-C++ http://www.cyberforum.ru/cpp-beginners/thread162784.html
Мне нужно узнать объем видеопамяти на эту тему на гуглил что нужно использовать Win32_VideoConfiguration Class, но компилятор ругается на кучу ошибок даже на этом примере http://msdn.microsoft.com/en-us/library/aa390423(v=VS.85).aspx
C++ Стражи включения Что значат эти строчки, #ifndef _CIRCL_H #define _CIRCL_H #endif /* _CIRCL_H */ понял так: если не дефинирована _CIRCL_H подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
01.09.2010, 16:41     Как реализовать работу со списком строк и списком цифр в классе List?
Цитата Сообщение от hatter Посмотреть сообщение
Сложность в понимании организации шаблона из класса список
ну то-есть я не могу понять, при моей конкретной задаче я должен реализовать работу со списком строк и цифр в самом классе? а потом уже создать файл шаблона и связать его с классом-список?
Я саму суть не могу понять, как они связаны должны быть.
Какой файл шаблона? Ты должен создать шаблонный класс списка, в котором тип элемента списка должен быть шаблонным параметром.
Связываение экземпляра шаблонного класса с "файлом шаблона", если я правильно тебя понял, происходит при создании данного экземпляра с помощью явного указания шаблонного параметра.

Вот так должна выглядеть упрощенная структура твоего класса:
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
// Объявление шаблонного класса
template<class T>
class List
{
    
public:
    
    List(); // Конструктор по умолчанию, создает пустой список
    List(const List<T>& rhs); // Копирующий конструктор, создает новый список на основе данного
    ~List(); // Деструктор
    // ... остальные методы
    
private:
    
    struct node // Объявление структуры-узла
    {
        T value; // Заменили тип элемента списка на шаблонный параметр T
        node* next;
        node* previous;
    };
    node* first; // Указатель на первый узел
    node* last; // Указатель на второй узел
};
 
//Реализация шаблонного класса
template<class T>
List<T>::List()
{
    // ... реализация конструктора по умолчанию
}
 
template<class T>
List<T>::List(const List<T> &rhs)
{
    // ... реализация копирующего конструктора
}
 
// ... и так далее
 
Текущее время: 17:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru