Вопросы по теме '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 просмотров
schedule
11.03.2024
Вызов метода после недопустимого приведения в стиле 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 просмотров
schedule
18.02.2023
dynamic_cast обратно к тому же типу объекта завершается ошибкой с множественным наследованием и промежуточной переменной
Предположим, есть иерархия с двумя несвязанными полиморфными классами PCH и GME , подклассом PCH_GME : public GME, public PCH и объектом gme_pch типа PCH_GME* .
Почему следующая последовательность приведения gme_pch "ломает" приведение к...
147 просмотров
schedule
13.09.2022
Преобразование C++ из множественного наследования; источник не полиморфен
Я новичок в С++. У меня есть два чистых абстрактных класса (например, интерфейсы), и я получаю класс из этих двух чистых абстрактных классов.
В одном случае мне нужно преобразовать указатель производного класса в один из базовых абстрактных...
661 просмотров
schedule
11.09.2022