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

Как ограничить тип данных шаблона класса? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сумма последовательности чисел http://www.cyberforum.ru/cpp-beginners/thread762212.html
В стандартном потоке ввода задаётся последовательность целых чисел. Каждое число последовательности не меньше -20000000 и не больше 20000000. Всего последовательность состоит не более, чем из 40 чисел. Последовательность завершается признаком конца файла. В стандартный поток вывода напечатайте сумму этих чисел.
C++ Определите сколько раз в строке встречается данное слово Помогите. Определите сколько раз в строке встречается данное слово. Добавлено через 40 минут Правильно или нет? #include <vcl.h> #include <iostream.h> #include <conio.h> #include <string.h> http://www.cyberforum.ru/cpp-beginners/thread762205.html
C++ Работа с многомерными массивами. Дана матрица размером М * N. Сформировать из этой матрицы вектор по правилу
Дано матрицу размером М * N. Сформировать из этой матрицы вектор по правилу: первые N элементов вектора - это элементы матрицы первого порядка, вторые N элементов - элементы второй строки и т.д. (М = 4, N = 6).
C++ Найти сколько чисел в массиве больше суммы или меньше разности чисел
Помогите решить задачу в С++. Нужно сформировать двумерный массив А(5,6) и заполнить его случайными числами. Ввести целые числа F и T. Найти сколько чисел в массиве больше суммы или меньше разности этих чисел. Напечатать результат
C++ Работа с одномерными массивами. Вычислить сумму квадратов разностей корней из модулей действительных чисел http://www.cyberforum.ru/cpp-beginners/thread762201.html
Дано 8 действительных чисел. Вычислить сумму квадратов разностей корней из модулей действительных чисел.
C++ Какие существуют виды условного оператора и чем они отличаются 5. Какие существуют виды условного оператора и чем они отличаются? подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
15.01.2013, 14:03     Как ограничить тип данных шаблона класса?
Это level 0 шаблонная магия. Фокус в частичной специализации. Сначала ManagerArray объявляется как шаблонный класс с одним параметром-типом. Объявляется, но не реализуется. Потом ему приделывается частичная специализация для всех типов SmartArray<T>, где T — ещё один параметр-шаблон, на этот для SmartArray, так как надо поддержка всех SmartArray. Итого, когда мы пишем ManagerArray<SmartArray<что угодно>>, то компилятор находит подходящую специализацию. Если там что-то другое, а не шаблонный класс SmartArray с одним параметром, то такой класс ManagerArray только объявлен, но не реализован, вот и вываливается ошибка компиляции.
 
Текущее время: 16:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru