Вопросы по теме 'upcasting'

Как реализовать проверку во время компиляции, что понижение допустимо в CRTP?
У меня есть старый добрый CRPT (прошу не отвлекаться на ограничения доступа - вопрос не в них): template<class Derived> class Base { void MethodToOverride() { // generic stuff here } void ProblematicMethod()...
1496 просмотров
schedule 02.06.2022

Устранение проблемы с гиперссылкой при преобразовании Word в XML
Мы используем двухэтапный процесс для преобразования документов Word клиента в XML. На первом этапе используется upCast для создания XML-файлов, затем запускается специальный XSLT для преобразования вывода в DTD клиента. Этот процесс успешно запущен...
258 просмотров
schedule 29.11.2022

Отмена преобразования для системы компонентов
В настоящее время я работаю над игровым движком на основе компонентов, написанным на С++. Все компоненты наследуются от базового класса компонента. Все компоненты в сцене преобразуются в вектор компонентов, где их можно повторять и Update() , и их...
174 просмотров
schedule 30.10.2023

В C # мне когда-либо приходилось выполнять явное восходящее преобразование?
Учитывая иерархию классов с базовым классом B и подклассом S : class B { } class S : B { } Я могу присвоить S B с неявным преобразованием: B b = new S(); Если бы я хотел понизить это обратно до S , мне пришлось бы сделать это...
421 просмотров
schedule 21.05.2024

Насколько дорого обходится понижение в Java 6?
Существует метод, который получает аргумент типа Collection , и ему необходимо использовать некоторые из методов класса List , когда он действительно работает с этим аргументом. Является ли ап-кастинг дорогим с точки зрения скорости?...
1277 просмотров
schedule 03.06.2022

Почему объектный класс Java остается таким же после литья?
Я попытался поднять объект. Но во время выполнения объектный класс остается производным классом. Derived drv = new Derived(); Base base = (Base) drv; System.out.println("Class : " + base.getClass()); //prints -> Class : class...
1299 просмотров
schedule 15.03.2023

В чем разница между апкастингом и нисходящим кастингом относительно переменной класса
В чем разница между преобразованием вверх и вниз по отношению к переменной класса? Например, в следующей программе класс Animal содержит только один метод, но класс Dog содержит два метода, а затем мы приводим переменную Dog к переменной Animal....
315180 просмотров

Как upcasting и vtables работают вместе, чтобы обеспечить правильную динамическую привязку?
Итак, vtable — это таблица, поддерживаемая компилятором, которая содержит указатели на функции, указывающие на виртуальные функции в этом классе. и Присвоение объекта производного класса объекту класса-предка называется восходящим...
2661 просмотров
schedule 26.02.2023

Почему в этом коде Scala необходимо повышать приведение?
Это компилирует: import scala.collection._ trait Foo[A, +This <: SortedSet[A] with SortedSetLike[A,This]] extends SortedSetLike[A, This] { this: This => def bar: This = (this: SortedSetLike[A,This]).empty } Но если upcast удален,...
1642 просмотров
schedule 14.03.2024

С++ - повышение и понижение
В моем примере: При восходящем приведении не должен ли второй вызов d.print() печатать «базу»? Разве это не производный объект "d", преобразованный в объект базового класса? А при даункастинге какие у него преимущества? Не могли бы вы...
27985 просмотров
schedule 10.11.2022

Почему выдает проверенное исключение
Я заметил, что методы в некоторых сложных библиотеках, включая стандартный JDK, имеют тенденцию к throws восходящему преобразованию исключений. Сначала я нашел это явление в исходном коде Apache POI, позже снова увидел его в java.io.FileWriter...
186 просмотров

Обновление и его влияние на кучу
Для следующих классов: public class Parent { //Parent members } public class ChildA : Parent { //ChildA members } public class ChildB : Parent { //ChildB members } Если я приведу экземпляр ChildA или ChildB к экземпляру Parent, то я не...
1873 просмотров
schedule 11.02.2023

Можно ли изменить тип получателя свойств Kotlin?
Можно ли повысить тип геттера свойств? Например, внутри объявления класса у меня есть val member = Implementation() , но я хочу, чтобы геттер public возвращал ссылку, набранную с помощью SomeInterface , предполагая, что Implementation...
307 просмотров
schedule 14.10.2022

Вопрос о приведении объектов к типу и доступе к методу
Я немного запутался в синтаксисе приведения типов и создания объектов. Вот у меня есть код class OverridingTest{ public static void main(String [] args){ Dog dog = new Hound(); ((Hound)dog).sniff(); } } class Dog{ public void...
30 просмотров
schedule 26.06.2023

Вызывает ли тернарный оператор в сочетании с преобразованием указателей вверх в стиле C неопределенное поведение в этом случае?
Мотивирующая предыстория: Пытаясь отладить трудновоспроизводимую неисправность в своем программном обеспечении, я наткнулся на сомнительный код приведения указателей, написанный наивным младшим разработчиком (ладно, признаю, это был я, 10 лет назад),...
54 просмотров

Явное приведение вверх и неявное приведение вверх
Я пытаюсь найти разницу между явным приведением вверх и неявным приведением вверх, но о них не так много сообщений. Кто-нибудь, помогите мне, пожалуйста?
61 просмотров

Повышение уровня Dart на самом деле не является повышением
Я пытаюсь преобразовать объект подкласса, но он не работает. Следующая программа компилируется без ошибок. VideoStreamModel model = VideoStreamModel(""); VideoStream entity = model; print(model); // prints VideoStreamModel print(entity);...
131 просмотров
schedule 30.10.2022

Какой самый простой способ преобразовать типизированный список в seq‹_› в F#?
(Вопрос новичка) Какой самый простой способ преобразовать типизированный список в seq‹_› в F#? Я работаю над взаимодействием с С# и пытаюсь изучить F#. У меня есть список фильмов, определенных как: Movies: MovieInfo list option который я...
67 просмотров
schedule 06.05.2023