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

Определение типа члена шаблонного класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемка с компилятором (IDE) http://www.cyberforum.ru/cpp-beginners/thread922726.html
Всем привет! В эта тема у меня будет 2 в одном :) Слушайте. Я работаю в Dev C++ (Bloodshed Dev C++), до сих пор работало всё нормально, но сегодня почему-то начало выбивать ошибки различные (если...
C++ Связь и авторизация на сайте Здравствуйте, хотел бы поинтересоваться, как с помощью C++ и возможно ли вообще допустим авторизоваться на сайте. Например у меня есть 2 поля, логин, пароль, ну и если капча требуется. Я ввожу... http://www.cyberforum.ru/cpp-beginners/thread922719.html
Как присвоить переменной рандомное число в диапазоне 000000 до 999999 C++
Как присвоить переменной предположим А рандомное число в диапазоне 000000 до 999999 , не 0 - 999999 а 000000-999999
C++ Ошибка в логике программы
Решил написать программу, которая проверяет является ли введенное значение десятичным дробным числом или нет. И хотя, когда первый раз вводишь значение типа 9-0, она их не принимает, но стоит ввести...
C++ Комбинирование ключа из несколько слов http://www.cyberforum.ru/cpp-beginners/thread922687.html
Здравствуйте. Столкнулся с проблемой Комбинирования ключей из несколько слов. В моем варианте было предложено: Если ключ состоит из нескольких слов, то перед вычислением хеш-функции должно быть...
C++ Непонятный вызов конструктора класса Почему в строчке d1=500; (70 стр.) вызывается конструктор CDate(500, 1, 2000)? Получается, целое число 500 перед присваиванием каким то образом преобразуется в тип CDate. Но почему? Вот это мне не... подробнее

Показать сообщение отдельно
Gorillych
14 / 14 / 1
Регистрация: 04.07.2013
Сообщений: 76

Определение типа члена шаблонного класса - C++

13.07.2013, 21:24. Просмотров 575. Ответов 2
Метки (Все метки)

Такая проблема. Есть шаблонный класс с членом - указателем, тип которого должен определяться в зависимости от параметра шаблона:
C++
1
2
3
4
5
6
template<typename Type>
class MyClass
{
public:
    undefined_type *ptr;//Тип указателя зависит от Type: если float, то undefined_type=SomeType1, если double, то  undefined_type=SomeType2
};
Я представляю реализацию как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
Template<typename Type>
class MyClass
{
public:
    void *ptr;
    MyClass()
    {
      if(typeid(T)==typeid(float)) ptr = reinterpret_cast<SomeType1*>(ptr);
      else if(typeid(T)==typeid(double)) ptr = reinterpret_cast<SomeType2*>(ptr);
    }
};
Но мне кажется это не совсем правильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru