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

С++ для начинающих

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

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

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

Добрый день. Вопрос простой и состоит в следующем. Есть шаблон класса. Хочу чтобы пользователь вводил сам тип данных для своего будущего шаблона. Как потом инициализировать тип шаблона имея char* ? Просто забыл как называется данный прием в с++ и чувствую что на поиск его в страуструпе уйдет уйма времени. Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2013, 16:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание типа данных для шаблона (C++):

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

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

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

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

Параметры типа класса шаблона - C++
смотрите был такой код в файле заголовочном: template <typename DataType> class CircleList { ..................... а преподаватель...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
03.05.2013, 17:13 #2
Цитата Сообщение от Linzman Посмотреть сообщение
Хочу чтобы пользователь вводил сам тип данных для своего будущего шаблона.
Так сделать неполучится, параметр шаблона должен быть известен во время компляции.
Linzman
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 48
03.05.2013, 17:17  [ТС] #3
Kastaneda, Спасибо, просто слышал что что-то подобное можно делать в с++ но не уверен что применительно к шаблонам
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
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 и т.д.
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2013, 17:20
Привет! Вот еще темы с ответами:

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

sort для своего типа данных - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; class foo { public: foo() : v(0)...

Есть ли функция для печати типа данных ? - C++
Пример char* a; cout&lt;&lt;функция(a); Окно консоли: char*

Реализовать библиотеку для типа данных float16 - C++
Задача: реализовать библиотеку для типа данных float16 (half float) и функционал конвертации float32 в float16 и обратно. Так же...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.05.2013, 17:20
Ответ Создать тему
Опции темы

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