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

Шаблонные классы. Присвоение к указателю и приведение типов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ dll http://www.cyberforum.ru/cpp-beginners/thread929606.html
1. Можно ли использовать DLL, созданную на одном языке программирования в программе на другом языке? 2. Я так понял, DLL работает только под Windows. Есть ли возможность сделать библиотеку функций, чтобы ее можно было использовать в любой ОС, но так чтобы у пользователя библиотеки не было доступа к исходному коду?
C++ Шаблоны и параметр по умолчанию Добрый день. Вроде всё делаю по учебнику, но компилятор не пропускает: #include <iostream> #include <vector> #include <cstdlib> template<class T> bool DefaultComparand(const T &, const T &); template<class T, class Function = DefaultComparand<T>> void Ssort(std::vector<T>& base, Function fn = DefaultComparand<T>() ) http://www.cyberforum.ru/cpp-beginners/thread929600.html
C++ Указатель вне корректного диапазона
void f(T a) { T v; T p* = &v; p--; *p = a; // тут p вне корректного диапазона, почему? } объясните этот момент плиз, я так понял, что когда мы дикрементируем указатель (p--), то т.к. указатель ссылался на начальный элемент массива типа T, то теперь он может ссылаться на другой тип, типа вышел из корректного lиапазона. Но почему не будет работать присваивание корректного адреса. Или...
C++ Погрешность вычислений
Читаю книгу Дейтелов "Как программировать на С++", попалась следующая задача, где нужно вводить кол-во бензина, пройденный путь, исходя из этих данных вычислять миль/галлон и вычислить средний расход бензина, когда закончится ввод. Вроде все сделал правильно, но когда ввожу данные которые приведены в качестве примера у авторов, у меня средний расход считается почему - то с очень большой...
C++ Битовые операции http://www.cyberforum.ru/cpp-beginners/thread929550.html
Здраствуйте, помогите, пожалуйста! Надо написать три функции, используя только битовые (для первых двух) и только битовые и арифметические операции (для третей), которые: 1) Функция, которая возвращает 1, если значения битов в двух заданых позициях беззнакового длинного целого числа совпадают. 2) Функция, которая меняет местами соседние группы из 16 битов в заданом беззнаковом длинном...
C++ виртуальные базовые классы класс на вершине иерархии определяет конструктор с параметрами. какие требования предъявляются к иерархии наследования?? попитался реализовать... // Using virtual base classes. #include <iostream> using std::cout; подробнее

Показать сообщение отдельно
vendetta17
0 / 0 / 0
Регистрация: 27.07.2013
Сообщений: 8
27.07.2013, 19:48     Шаблонные классы. Присвоение к указателю и приведение типов
Добрый вечер, ув. форум, есть к вам вопрос.
Есть род. абстрактный класс: ParentAbstact
Есть два наследника: ChildOne : public ParentAbstact и ChildTwo : public ParentAbstact
Есть шаблонный класс: TempClass <T>
Есть глобальные экземпляры: extern TempClass<ChildOne> childOne и extern TempClass<ChildOne> childTwo

Это всё из приватного фреймворка, к сожалению, дополнительную информацию я предоставить не могу, прошу простить меня.

А теперь сам вопрос:
Я пытаюсь создать указатель на TempClass<T>.
C++
1
2
3
4
5
6
7
8
SomeClass::SomeFun()
{
    ...
    TempClass <ParentAbstact>* pointerToTemp = NULL;
    ... some checks
    pointerToTemp = &childOne; // ошибка: "error C2440: =: невозможно преобразовать 'TempClass<ChildOne> *' в 'TempClass<ParentAbstact> *' ..."
    ...
}
Можно ли сделать приведение типа в этом случаи?

Добавлено через 37 минут
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru