Предположим, что Y является производным классом от класса X и X, объявляет, что нечто является виртуальным. Предположим, что y имеет тип (Y*). Затем ((X*) y)-> нечто () выполнит версию Y нечто (), но ((X) *y) .foo () выполнит X..
Я пытаюсь выяснить точное значение слов Ковариантность и Контравариантность от нескольких статей онлайн и вопросов на StackOverflow, и от того, что я могу понять, это - только другой...
кто-либо знает, почему это дает ошибку компилятора? Я попробовал VS 2005 и Codewarrior: класс Родитель {защищенный: интервал m_Var; общественность: Родитель (): m_Var (0) {} виртуальный ~Parent () {}...
Каковы отношения между использованием виртуальных функций и механизмами наследования C++ по сравнению с использованием шаблонов и чего-то как понятия повышения? Кажется, что существует настоящее перекрытие того, что...
У меня есть четкое понимание большинства ОО-теорий, но меня смущает одна вещь - виртуальные деструкторы. Я думал, что деструктор всегда называют независимо от того, что и для каждого объекта в ...
Я работаю над присвоением домашней работы (проект), для которого один критерий - то, что я должен использовать полиморфизм способом, который заметно улучшает общее качество или функциональность моего кода. Я...
Наличие цепочки "instanceof" операций считают "запахом кода". Стандартный ответ является "полиморфизмом использования". Как я сделал бы это в этом случае? Существует много подклассов базового класса;...
Я ищу некоторый способ эффективно скрыть наследованных участников. У меня есть библиотека классов, которые наследовались общим базовым классам. Некоторые более свежие классы-потомки наследовали зависимость...
Коллекция & Lt; & Строка GT; c = новый ArrayList & lt; String & gt; (); c.add ( "Hello"); c.add ( "Java"); c.toString (); c.get (); // Исключение: метод get () не определен для типа Collection & ...
class Another {public void method (Object o) {System.out.println ("Это метод, который принимает объект"); } открытый метод void (String s) {System.out.println ("Это ...
Я пытаюсь создать Древовидный тип в Haskell. Я использовал этого простого конструктора данных для хранения дерева, в котором каждый узел может или быть пустым, быть листом, содержащим целое число, или быть узлом, содержащим...
У меня есть следующая структура: Основа абстрактного класса {общедоступный абстрактный Список <...> Добирается ();//, Каков должен быть универсальный тип?} класс SubOne: Основа {общественность переопределяет Список <SubOne&...
C++ не позволяет полиморфизм для методов на основе их типа возврата. Однако при перегрузке неявной функции членства преобразования это кажется возможным. Кто-либо знает почему? Я думал операторы...
На основе некоторого совета я нашел на StackOverflow, я рою в Haskell. Я был рад видеть, что параметризованные типы Haskell ведут себя очень как дженерики C#. Оба языка советуют синглу...
Я понимаю, что класс, который наследуется от другого класса, может скрывать свойство, используя ключевое слово new. Это, однако, скрывает конкретную реализацию свойства, поэтому я могу видеть, как оно могло ...
У меня есть базовый класс для некоторого материала сменного стиля, и существуют некоторые методы, которые абсолютно требуются, чтобы быть реализованными. Я в настоящее время объявляю тех, которые в базовом классе как виртуальный, например...
У меня есть три класса, которые реализуют тот же протокол и имеют тот же родительский класс, который не реализует протокол. Обычно у меня был бы протокол как чистые виртуальные функции в родителе...
У меня есть вопрос на C++, дважды диспетчеризируют. В коде ниже, я хочу, чтобы результаты второго набора соответствовали результатам первого набора. Я не знаю фактический тип (если я не пробую dynamic_cast)...
У меня есть следующий метод, который берет в объекте деталей, проверяет его, преобразовывает его в запрос и ставит в очередь его. Все прекрасно кроме проверить запроса, из-за которого я испытываю затруднения...
Предположим, что у меня есть следующий класс: общедоступный класс FixExpr {Expr <FixExpr> в;} Теперь я хочу представить универсальный аргумент, абстрагирующий по использованию Expr: общедоступный класс Фиксирует <F> {F&...
Сегодня я нашел что-то, что меня действительно удивило: #include & lt; iostream & gt; использование пространства имен std; класс A {public: virtual void reset () = 0; }; class B: public A {public: virtual ...
Clojure является функциональной шепелявостью, по сообщениям нисколько не объектно-ориентированной, даже при том, что он работает на JVM, VM, разработанный для объектно-ориентированного языка. Clojure обеспечивает идентичные интерфейсы для итерации...
Мне недавно дали следующую часть кода как своего рода загадка, чтобы помочь понять Полиморфизм и Наследование в ООП - C#.//Никакая компиляция! общедоступный класс A {общедоступная виртуальная строка GetName ()...
У меня есть следующая ситуация, где клиентский класс выполняет другое поведение на основе типа сообщения, это получает. Я задаюсь вопросом, существует ли лучший способ сделать это, так как мне не нравится...
Я должен принять решение относительно обобщения по сравнению с полиморфизмом. Хорошо сценарий является стандартным: Я хочу сделать свой монолитный взаимозависимый код, чтобы быть более модульным, чистым и расширяемым. Это...
Я не могу понять, почему эта часть кода не компилирует: пространство имен A {класс F {};//строка 2 класса H: общественность F {};} пространство имен B {освобождают F (A:: H x);//...
Что такое обычная практика для устройства хранения данных списка указателей базового класса, каждый из которых может описать полиморфный производный класс? Уточнить и в интересах простого примера позволяет, принимают...