Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 48
1

Считывание типа данных для шаблона

03.05.2013, 16:51. Просмотров 479. Ответов 3
Метки нет (Все метки)

Добрый день. Вопрос простой и состоит в следующем. Есть шаблон класса. Хочу чтобы пользователь вводил сам тип данных для своего будущего шаблона. Как потом инициализировать тип шаблона имея char* ? Просто забыл как называется данный прием в с++ и чувствую что на поиск его в страуструпе уйдет уйма времени. Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2013, 16:51
Ответы с готовыми решениями:

Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа
Доброго времени суток, пишу класс содержащий несколько std::set от разных типов, нужно сделать...

Как ограничить параметр типа шаблона только числовыми типами данных?
Собствено, сабж. Ключевое для поиска слово хотябы.

Как сделать шаблон на считывание неизвестного типа данных?
Есть размерности двумерного массива. Нужно считать с клавиатуры числа. Они могут быть как int, так...

Явная специализация шаблона для пользовательского типа
Здравствуйте! Сразу извиняюсь если вопрос покажется глупым, перечитал справочник по шаблонам, но...

3
Jesus loves me
Эксперт С++
5096 / 3110 / 351
Регистрация: 12.12.2009
Сообщений: 7,845
Записей в блоге: 2
03.05.2013, 17:13 2
Цитата Сообщение от Linzman Посмотреть сообщение
Хочу чтобы пользователь вводил сам тип данных для своего будущего шаблона.
Так сделать неполучится, параметр шаблона должен быть известен во время компляции.
1
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 48
03.05.2013, 17:17  [ТС] 3
Kastaneda, Спасибо, просто слышал что что-то подобное можно делать в с++ но не уверен что применительно к шаблонам
0
Jesus loves me
Эксперт С++
5096 / 3110 / 351
Регистрация: 12.12.2009
Сообщений: 7,845
Записей в блоге: 2
03.05.2013, 17:20 4
Можно сделать такой костыль
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
#include <iostream>
#include <string>
#include <typeinfo>
 
class Base
{
public:
    virtual ~Base() {};
};
 
template <class T>
class Derived : public Base
{
public:
    Derived () 
    {
        std::cout << "Constructor " << typeid(T).name() << std::endl;
    }
};
 
 
int main()
{
    std::string argument;
    std::cin >> argument;
    
    Base *ptr;
    if (argument == "int") {
        ptr = new Derived<int>();
    } else if (argument == "char") {
        ptr = new Derived<char>();
    } // else if и т.д.
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2013, 17:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Параметры типа класса шаблона
смотрите был такой код в файле заголовочном: template &lt;typename DataType&gt; class CircleList {...

Объявление параметра типа шаблона дружественным
Объясните, что значит friend Type?

Можно ли использовать параметр шаблона без типа?
#define TV(OBJ) typeof(OBJ), OBJ template&lt;class T, T obj&gt; class A {/*...*/}; int f (int); ...

Как можно задать требования к параметрам типа шаблона?
#include &lt;iostream&gt; #include &lt;type_traits&gt; template &lt;class T, bool required&gt; struct...


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

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

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