Вопросы по теме 'dynamic-cast'

boost :: shared_ptr и динамическое приведение
У меня проблема с использованием shared_ptr базового класса, я не могу вызвать методы производного класса при разыменовании его. Я считаю, что код будет более подробным, чем я: class Base : public boost::enable_shared_from_this<Base> {...
32384 просмотров
schedule 14.01.2023

С++ динамическое_каст
class CBase { }; class CDerived: public CBase { }; CBase b; CBase* pb; CDerived d; CDerived* pd; pb = dynamic_cast<CBase*>(&d); // ok: derived-to-base pd = dynamic_cast<CDerived*>(&b); // wrong: base-to-derived...
3086 просмотров
schedule 20.03.2022

Как лучше всего вызвать функцию в дочернем классе неправильным образом?
Предупреждение: обратите внимание, что это глупый вопрос, который я, вероятно, никогда не решу таким образом. Отсюда и противоречивое название. Но так как я действительно видел что-то подобное в коде, через который я прошел на очень большой...
116 просмотров
schedule 01.03.2024

Dynamic_cast: в этом случае следует заменить
Существует базовый класс A, который является виртуальным. class A { ~virtual A() = 0; }; и более производные классы B, C, D, E... class B : public A { }; class C: public A { }; и аналогично для других классов D, E... У нас есть...
1868 просмотров
schedule 14.02.2023

downcasting dynamic_cast с неполиморфными классами, почему он не компилируется?
У меня такой код: using namespace std; class BaseOk { public: virtual void ImplementMe() { }; }; class DerivedOk : public BaseOk { public: void ImplementMe() { } }; class CBase { }; class CDerived: public CBase { };...
385 просмотров
schedule 12.12.2022

dynamic_cast не генерирует исключения, как ожидалось
На основании этого ответа... Поиск типа объекта в C++ ... Я написал этот код: static TVALUE getUpperBound() { SomeStruct<TVALUE>* t; try {...
152 просмотров
schedule 20.11.2022

Могу ли я использовать что-то кроме dynamic_cast в этом дизайне?
В нашей системе есть несколько типов устройств каждый тип устройства может иметь другой тип конфигурации каждый тип устройства будет собственной библиотекой Я в ситуации, когда я вынужден использовать dynamic_cast. Мне интересно, есть...
199 просмотров

Вызов метода после недопустимого приведения в стиле C работает
Поэтому я пытаюсь узнать немного больше о различиях между C-style-casts , static_cast , dynamic_cast , и я решил попробовать этот пример, который должен отражать различия между приведениями в стиле C и > static_cast неплохо....
86 просмотров
schedule 20.03.2022

Неполный класс: преобразовать void* в указатель на тип класса через dynamic_cast
У меня есть 2 класса A и B. B является производным от A. A имеет член указателя на функцию, для которого аргумент является объектом B. Классы определяются следующим образом: class B; typedef double (*func_ptr)(B *); class A { private:...
2014 просмотров

dynamic_cast обратно к тому же типу объекта завершается ошибкой с множественным наследованием и промежуточной переменной
Предположим, есть иерархия с двумя несвязанными полиморфными классами PCH и GME , подклассом PCH_GME : public GME, public PCH и объектом gme_pch типа PCH_GME* . Почему следующая последовательность приведения gme_pch "ломает" приведение к...
147 просмотров

Преобразование C++ из множественного наследования; источник не полиморфен
Я новичок в С++. У меня есть два чистых абстрактных класса (например, интерфейсы), и я получаю класс из этих двух чистых абстрактных классов. В одном случае мне нужно преобразовать указатель производного класса в один из базовых абстрактных...
661 просмотров