Результаты поиска по запросу "downcast"
Даункинг опционы в Swift: как? Типа, или как! Тип?
Учитывая следующее в Swift:
в несколько разных производных классов. Мне нужно, чтобы контейнер содержал указатели базового класса, чтобы позволить это.
отрим следующую схему: class Base { /* ... */ }; class Derived : public Base { public: void AdditionalFunctionality(int i){ /* ... */ } }; typedef std::shared_ptr<Base> pBase; typedef std::shared_ptr<Derived> pDerived; int main(void) ...
поддерживать массивы.
отреть возможность: struct SomethingThatsABase { virtual bool IsChildOne() const { return false; } virtual bool IsChildTwo() const { return false; } }; struct ChildOne : public SomethingThatsABase { virtual bool IsChildOne() const { return true; ...
Безопасность недействительного даункаста с использованием static_cast (или reinterpret_cast) для наследования без добавления членов
Мне было интересно, что стандарт говорит о безопасности следующего кода: class A { int v; }; class B: public A { }; // no added data member A a; B& b = static_cast<B&>(a);Очевидно, тип времени выполненияa являетсяAнеBТаким образом, актерский ...
Теперь, если класс не полиморфен, компилятору не удастся выяснить, указывает ли pCar на honda или toyota car. Обратите внимание, что это только один из способов реализации dynamic_cast, поскольку стандарт C ++ ничего не говорит о vtables.
дующем коде при построенииobj в случае 1 мы строимderived Объект класса тоже, но его функции-члены просто недоступны дляobj, Таким образом, при снижении (то есть, в случае 2), используяobj в качестве источника мы построилиderived в этом уже. ...
Почему я не могу уменьшить указатель на элементы в аргументах шаблона?
Если я создаю указатель на базовый член, я обычно могу преобразовать его в указатель на производный член, но не при использовании в шаблоне, таком как Buzz н...