Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2009, 21:49   #1
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию Шаблонный класс

Ребята, объясните пожалуйста, как работает шаблонный класс, своими словами, на скромном маленьком примерчике. Заранее благодарю.
Syltan вне форума Ответить с цитированием
Старый 22.11.2009, 22:23   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Точно так же как и шаблонная функция:
Код:
template<class T>
class Array {
    T* pointer;
public:
    Array(size_t N) {
        pointer = new T[N];
    }

    T& operator[] (size_t index) {
        return pointer[index];
    }
};

...
// при подстановке значения, создаётся класс, где везде вместо T будет подставленное значение
Array<int>    a(80); // Создаст массив из 80 целых чисел
Array<char>  c(20); // создаст массив из 20 символов
netrino вне форума Ответить с цитированием
Старый 22.11.2009, 22:23   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Ну это вроде бы класс, который может содержать в себе данные различных типов (меняющихся от специализации к специализации), но при этом единообразно работающий с этими данными, какого бы типа они ни были. Стандартные контейнеры - типичный пример шаблонных классов. Неважно, какого типа данные, главное, что хранится некий, скажем, список данных одного типа, над которым выполняются стандартные операции для списка - push, pop и т.п.
Соответственно, для типов, которые могут быть заданы в качестве аргументов, должен быть единообразный интерфейс, который можно было бы использовать для выполнения операций общего вида. Например, для push, полагаю, используются конструкторы копирования.
Ну как-то так...
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ . Класс Ануар56 Помощь студентам 8 23.04.2009 19:41
Шаблонный односвязный список _ares_ Общие вопросы C/C++ 4 06.12.2008 21:35
Класс Юлёк Фриланс 6 15.06.2008 15:00
класс TTypedComObject toledo Общие вопросы Delphi 1 17.04.2008 01:32