Описание тега template-classes
3
ответа
Определение шаблона функции в качестве обратного вызова для шаблона класса
Я хочу определить шаблон класса, который принимает функцию обратного вызова того же типа. Что-то вроде: typedef template<class T> bool CallbackFn( T x ); template<class T> class MyClass { public: MyClass() {} ~MyClass() {} void addCallba…
28 ноя '12 в 14:32
0
ответов
Наследование шаблонов C++ вызывает ошибку "неполного типа"
Я пытаюсь определить производный класс, который наследуется от базового шаблона шаблона следующим образом test.h template <class T> class test { public: void something (T x ) ; }; test.cpp #include "test.h" template<> class test<int&g…
14 ноя '18 в 03:50
2
ответа
Инициализация конструктора шаблона с переменной типа size_t
У меня есть класс с конструктором шаблона: class x { public: template<std::size_t N> x(int matrix[N][N]) { A<N> ob(matrix); } }; в основной функции: int main() { size_t s; cin >> s; int m[s][s]; x ob(m); // error } ошибка: ошибка: …
13 июн '18 в 15:10
1
ответ
Метод как параметр по умолчанию для метода
В настоящее время я работаю над Set-классом для курса C++, который является производным от vector<T>, В какой-то момент я пришел к тому, что мне нужно было реализовать функцию под названием index() который, очевидно, будет возвращать (если наб…
20 янв '17 в 19:54
1
ответ
Шаблонный шаблонный шаблонный аргумент
У меня есть класс, который использует шаблоны. Это что-то вроде этого: template <typename T> class a { public: a(T arg); a<T> func(a arg); // This seems to work, but... a<T> func(a<T> arg); // ...should I be doing this instea…
29 июл '13 в 23:40
1
ответ
Использование шаблонного класса с шаблонным методом в C++
У меня есть класс, который имеет общедоступные шаблонные методы. Этот класс имеет 2 стратегии поведения, которые я хочу передать через шаблон класса. template<class Strategy> class SomeClass { public: template<class B> void ProcessType()…
22 фев '13 в 10:35
1
ответ
Аргументы шаблона типа restrict-pointer и переопределение виртуальных методов шаблонного базового класса
Я полагаю, что следующее должно компилироваться и связываться, но это не так: template<class S> class A { public: virtual int foo(S arg) = 0; virtual ~A() { } }; class B : public A<int* __restrict__> { public: int foo(int* __restrict__ a…
06 мар '16 в 23:10
2
ответа
Преобразование между 2 типами с различными квалификаторами const
Это короткий пример кода, который я хочу использовать: template <class T> class B { public : bool func1(const T& t) { // do something } }; class A { B<int*> b; public: void func2(const int* a) { b.func1(a); } }; Я получаю эту ошибку:…
13 окт '15 в 19:31
2
ответа
Неоднозначное множественное наследование шаблонных классов
У меня есть реальная ситуация, которую можно обобщить в следующем примере: template< typename ListenerType > struct Notifier { void add_listener( ListenerType& ){} }; struct TimeListener{ }; struct SpaceListener{ }; struct A : public Notif…
08 мар '16 в 17:29
1
ответ
Игнорировать аргумент шаблона для предоставления функции подкачки
Я хочу предоставить функцию подкачки для моего шаблона класса. Вот упрощенная версия: template <int size, typename...DataTypes> class ExampleClass { public: ExampleClass() : data(size) {} void swap(ExampleClass& _Right) { data.swap(_Right)…
28 янв '18 в 16:54
1
ответ
Ошибка C++ при объявлении std::pair внутри класса шаблона
Я хочу избежать использования std::pair() конструктор или std::make_pair() функции при вставке в map, Я также хочу знать статус успеха операции вставки, поэтому я не могу использовать operator[], Я попробовал следующий код, но он выдает ошибку компи…
01 окт '14 в 13:17
1
ответ
Динамическое распределение в конструкторе класса шаблона
Я работаю над классом стека и у меня есть два конструктора. Один из интересов это этот. template <typename T> stack<T>::stack( const int n) { capacity = n ; size = 0 ; arr = new T [capacity] ; } Я называю это внутри главной, вот так. sta…
22 сен '12 в 05:15
2
ответа
Член класса шаблонов против неоднозначности функции-члена
Я разрабатываю библиотеку только для заголовков для автоматического / алгоритмического дифференцирования. Цель состоит в том, чтобы иметь возможность просто изменить тип переменных, передаваемых в функцию, и вычислить первую и вторую производные. Дл…
26 янв '19 в 12:07
2
ответа
Может ли класс наследовать от другого шаблона класса, который конкретизируется сам по себе?
Я шел через некоторый код, и я нашел что-то вроде этого: class GarbageCollectorProcess : public process::Process<GarbageCollectorProcess> Мне было интересно, если это было действительным, что нужно сделать. Если да, не должно ли это привести к…
15 дек '14 в 10:04
0
ответов
Перегруженный оператор% от нормального класса, вложенный в класс шаблона, определенный вне класса
У меня проблема с определением оператора% вне моего шаблона. Я решил эту проблему, делая это внутри, но я хотел бы знать, почему это не работает по-другому. Вот мой код: namespace std{ class vector{};class deque{};class list{};class multiset{};class…
18 фев '15 в 15:39
1
ответ
Указатель базового класса для класса шаблона, который использует параметр шаблона в данных члена
Для следующего класса шаблона template <class T> class Arbitrary { protected: vector<T> ObjectArray; public: Arbitrary(){} }; Я хочу, чтобы у меня был вектор указателей базового класса, я знаю, что мне нужно использовать интерфейсный кла…
29 апр '17 в 10:44
0
ответов
Указатель базового класса, указывающий на объект производного класса, который является переменной шаблона в другом классе
Извините, если название не ясно. Но я постараюсь объяснить проблему ясно. Я работаю на C++ и QT, используя MVC для архитектуры приложения: - Некоторые описания для структуры приложения: Модельный разрез (разработан с использованием паттерна полиморф…
21 ноя '18 в 00:54
3
ответа
Тестирование "Try and Catch"
В этой программе я использую шаблонный класс, у меня есть файл заголовка, и это мой основной файл. У меня проблемы с отображением (".....") IndexOutOfBounds и отображением его на экране. #include "XArray.h" #include <iomanip> #include <stri…
07 май '14 в 04:06
1
ответ
Как элегантно ограничить аргумент шаблона как `<Certain_Class <AnyT >>`?
Как ограничить аргумент шаблона Wrapper быть Wrapper<Any, MyArray <AnyT>> элегантно? Не нарушайте помощник по содержимому (Visual Studio). Высокая читабельность Не используйте хакерский подход. По некоторым причинам большинство решений л…
26 апр '17 в 07:56
0
ответов
Специализация и наследование членов класса шаблона C++
Я хотел бы записать набор классов, в которых есть: чистый виртуальный класс, который обёртывает объект любого вида и связующий получатель для него. один или несколько классов для каждого типа объекта, который мне нужен, расширяя виртуальный и переоп…
20 мар '16 в 02:55