Вопросы по теме '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 просмотров
schedule
24.06.2023
Как 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 просмотров
schedule
15.08.2022
Обновление и его влияние на кучу
Для следующих классов:
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 просмотров
schedule
14.12.2022
Явное приведение вверх и неявное приведение вверх
Я пытаюсь найти разницу между явным приведением вверх и неявным приведением вверх, но о них не так много сообщений. Кто-нибудь, помогите мне, пожалуйста?
61 просмотров
schedule
03.03.2022
Повышение уровня 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