downcasting
Я работаю над базовым клиент-серверным приложением на языке C++, использующим сокеты, которые будут запускать игру battleship. Вся коммуникация между клиентом и сервером осуществляется в виде простой иерархии объектов, которая выглядит примерно так: namespace Message { enum MessageType { BASE, RESULT };...
Я создал этот infix operator ^^ в качестве замены использования функции pow: infix operator ^^ { associativity left precedence 155 } func ^^ <T: IntegerLiteralConvertible>(left: T, right: T) -> T { return pow(left as Double, right as Double) } Я использовал протокол IntegerLiteralConvertible ...
В этом посте храбрец хочет (в C++) понизить объект типа Base до типа Derived. Предполагая, что производный тип имеет не больше атрибутов, чем Base, он может иметь смысл, если вы завидуете дополнительным методам, которые предоставляет класс Derived. Существуют ли языки программирования, которые позволяют та...
У меня есть следующая структура: #[derive(Debug)] pub struct Entry { pub index: usize, pub name: String, pub filename_offset: u64, pub entry_type: EntryType, } #[derive(Debug)] pub enum EntryType { File { file_offset: u64, length: usize, }, Directory { p...
Я играл со Свифтом и обнаружил, что когда я бросаю вниз объект, который нужно вставить в словарь, я получаю странное предупреждение: Treating a forced downcast to 'String' as optional will never produce 'nil'. Если я заменю as на as?, то предупреждение исчезнет. func test() -> AnyObject! { return "Hi!" ...
Я хотел бы проверить, является ли объект (например,someObject) присваиваем (монолитно-состоянии) к переменной другого типа (например,SpecifiedType). На Java я могу написать: someObject instanceof SpecifiedType связанный с этим вопрос заключается в том, является ли тип времени выполнения объекта равным друг...
в чем разница между up-casting и down-casting относительно переменной класса? например, в следующем классе программы Animal содержит только один метод, но класс Dog содержит два метода, а затем как мы приводим переменную Dog к переменной Animal. если кастинг сделан, то как мы можем вызвать другой метод соба...