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

C++

Войти
Регистрация
Восстановить пароль
 
dobroivan
0 / 0 / 1
Регистрация: 15.03.2016
Сообщений: 23
#1

[C++11] "Унаследовать" аргументы шаблона? - C++

13.05.2016, 18:10. Просмотров 171. Ответов 2
Метки нет (Все метки)

Есть класс-шаблон.

C++
1
2
3
4
5
template<typename T, typename O, typename I>
class A
{
// ...
}
Нужно создать второй класс (В), который принимал бы в конструкторе объект класса А, и мог бы пользоваться его аргументами шаблона T, O, I. Это возможно в С++? Не хочется второму классу указывать те же самые аргументы шаблона просто.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2016, 18:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос [C++11] "Унаследовать" аргументы шаблона? (C++):

Необработанное исключение в "0x77913ab3" в "x": 0xC0000005: Нарушение прав доступа при чтении "0xdddddddd" - C++
вот код, нужно найти 3 минимальных положительных числа в массиве. При размере массива больше 950 в конце заполнения рандомным способом...

Найти в строке последовательность символов ("abcd") и заменить ее другой ("xyz") - C++
Найти в строке последовательность символов (&quot;abcd&quot;) и заменить ее другой (&quot;xyz&quot;).

Ошибка: invalid conversion from "int" to "SDL_RendererFlip" - C++
Скриншот приложен, Вот страница, откуда я брал этот код Подскажите что делать

О "нестабильности" или "переполнении" цикла foreach - C++
Здравствуйте, коллеги. Недавно коллега-программист сообщил мне страшную вещь: оказывается, что цикл foreach может переполниться при...

CString buff = "aaa" + "bbb" - C++
Хочется одним оператором конкатенировать несколько подстрок CString buff = &quot;aaa&quot; + &quot;bbb&quot; компилятор выдает error C2110: cannot add two...

Qt Creator. Все "за" и "против" - C++
Доброго времени суток, форумчане! Сегодня задался вопросом использования такой IDE, как Qt Creator. Суть темы заключается в том, что я...

2
DrOffset
7517 / 4513 / 1025
Регистрация: 30.01.2014
Сообщений: 7,362
13.05.2016, 18:52 #2
Цитата Сообщение от dobroivan Посмотреть сообщение
Нужно создать второй класс (В), который принимал бы в конструкторе объект класса А, и мог бы пользоваться его аргументами шаблона T, O, I. Это возможно в С++?
Если использование аргументов планируется только в конструкторе, то это совсем просто:
C++
1
2
3
4
5
6
7
class B
{
public:
    template<typename T, typename O, typename I>
    B(A<T, O, I> const & x)
    { /*........*/ }
};
Если это не оно, то тогда ждем детального объяснения того, что нужно Правильный ответ сильно зависит от нюансов.
0
Croessmah
Ушел
13769 / 8019 / 924
Регистрация: 27.09.2012
Сообщений: 19,744
Записей в блоге: 3
Завершенные тесты: 1
13.05.2016, 19:56 #3
или, например,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template<typename T, typename O, typename I>
class A
{
   using TypeT = T;
   using TypeO = O;
   using TypeI = I;
}
//...
template<typename ... Args>
class B
{
public:
    B(const A<Args...> & x)
    { /*A<Args...>::TypeT*/ }
};
Цитата Сообщение от DrOffset Посмотреть сообщение
Правильный ответ сильно зависит от нюансов.
это точно
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2016, 19:56
Привет! Вот еще темы с ответами:

Ошибка "неопределенная ссылка" при работе с std::thread - C++
При попытке сделать что-либо с std::thread, выдает ошибку компиляции, &quot;неопределенная ссылка &quot; . К примеру: #include...

Ординарная Сеть Петри для задачи об "обедающих философах" - C++
Помогите с сетью Петри. дуб в этом Задача об обедающих философах. Пять философов отдыхают в пансионате. Каждый из философов может...

Warning LNK4248: неразрешенная лексема TypeRef для "GLUquadric" - C++
Добрый день господа эксперты! Помогите с таким вопросом компилятор выдает: frmMain.obj : warning LNK4248: неразрешенная лексема...

Ответы к упражнениям из книги Сэджвика "Фундаментальные алгоритмы на С++" части 1-4 - C++
Привет! Читаю данную книгу, в конце каждой главы имеются упражнения, но нет ответов на них. На решение некоторых задач просто нехватает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru