Результаты поиска по запросу "downcast"

4 ответа

Теперь, если класс не полиморфен, компилятору не удастся выяснить, указывает ли pCar на honda или toyota car. Обратите внимание, что это только один из способов реализации dynamic_cast, поскольку стандарт C ++ ничего не говорит о vtables.

дующем коде при построенииobj в случае 1 мы строимderived Объект класса тоже, но его функции-члены просто недоступны дляobj, Таким образом, при снижении (то есть, в случае 2), используяobj в качестве источника мы построилиderived в этом уже. ...

3 ответа

 в несколько разных производных классов. Мне нужно, чтобы контейнер содержал указатели базового класса, чтобы позволить это.

отрим следующую схему: 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) ...

3 ответа

 поддерживать массивы.

отреть возможность: struct SomethingThatsABase { virtual bool IsChildOne() const { return false; } virtual bool IsChildTwo() const { return false; } }; struct ChildOne : public SomethingThatsABase { virtual bool IsChildOne() const { return true; ...

ТОП публикаций

2 ответа

@DeadMG: В моем исходном коде есть виртуальные методы, я просто убрал их из примера для ясности. Спасибо хоть :

ойка наэтот вопрос [https://stackoverflow.com/questions/844816/c-style-upcast-and-downcast-involving-private-inheritance] что я столкнулся. Рассмотреть возможность: class A {}; class B : private A { static void foo(); }; void B::foo(){ B* ...

2 ответа

Предположим, что ваша сущность «Работодатель» имеет только свойства, допускающие значение NULL, тогда можно перейти к таблице в базе данных и изменить «Дискриминатор» с «Пользователь» на «Работодатель». Все отношения будут сохранены. А также возможно сделать противоположное.

я есть проект, где я определил в EFEmployer как производный классUser, В моем процессе я создаю пользователя, не зная, будет ли он в конечном итоге работодателем (или другими пользователями), и позже мне нужно его преобразовать. Сначала я ...

3 ответа

Шаблон проектирования, позволяющий избежать потери при передаче сообщений

Базовый классMessageHandler вывел классы. Они хотели бы передавать сообщения друг другу. Сообщения могут быть разных классов, но могут быть сделаны для общего базового класса. Как каждый можетMessageHandler избежать передачи полученного ...

2 ответа

Вызовите метод, для которого требуется экземпляр производного класса, типизированный как базовый класс в VB.NET или C #

У меня есть два объекта - «Космический корабль» и «Планета», полученные из базы «Обь». Я определил несколько классов - Круг, Треугольник, Прямоугольник и т. Д., Которые все наследуются от класса «Форма». В целях обнаружения столкновений я хочу ...

5 ответов

Выигрывает ли производительность / память от короткого замыкания при даункастинге?

Я пишу крупномасштабное приложение, в котором стараюсь сохранить как можно больше памяти, а также повысить производительность. Таким образом, когда у меня есть поле, которое, как я знаю, будет иметь значения только от 0 до 10 или от -100 до 100, ...

5 ответов

удрученный и удрученный

Я новичок вC # (а такжеOOP). Когда у меня есть код, подобный следующему: class Employee { // some code } class Manager : Employee { //some code }Вопрос 1Если у меня есть другой код, который делает это: Manager mgr = new Manager(); Employee emp ...

3 ответа

Почему Даункинг бросает Исключение?

В яве: Base b = new Base(); Derived d = (Derived)b;бросаетClassCastException, Почему? Почему удручающие броскиException Вот? Я не мог понять причину.