0
ответов

В чем проблема с malloc () и виртуальными функциями? [дубликат]

Возможный дубликат: C ++: зачем нужен новый? Почему я не могу использовать malloc для выделения места для моих объектов, если они являются дочерними по отношению к классу, содержащему виртуальные функции? Это действительно расстраивает. Является ли ...
вопрос задан: 23 May 2017 10:30
0
ответов

Стоимость виртуальной функции в замкнутом цикле

Я нахожусь в ситуации, когда у меня есть игровые объекты, у которых есть виртуальная функция Update (). Есть много игровых объектов (в настоящее время немногим более 7000), и цикл вызывает update для всех из них (среди…
вопрос задан: 23 May 2017 10:24
0
ответов

Зачем использовать указатели базовых классов для производных классов

class base {..... virtual void function1 (); виртуальная функция void2 (); }; производный класс :: общедоступная база {int function1 (); int function2 (); }; int main () {производное d; base * b = ...
вопрос задан: 12 April 2017 06:35
0
ответов

Каковы правила поиска виртуальных функций?

#include база класса {public: virtual void print (int a) {std :: cout << "a:" << a << "base \ n"; } virtual void print (int a, int b) ...
вопрос задан: 10 January 2017 09:51
0
ответов

Почему требуется vptr, если производный класс не переопределяет виртуальную функцию?

class base { public: void virtual fn(int i) { cout << "base" << endl; } }; class der : public base{ public: void fn(char i) { cout << "der" << ...
вопрос задан: 25 April 2016 21:00
0
ответов

в C ++ при создании подкласса, почему иногда нужно добавлять ключевое слово virtual для переопределенной функции?

Почему я иногда вижу в примерах C ++, когда речь идет о подклассах / наследовании, базовый класс имеет ключевое слово virtual и иногда переопределенная функция также имеет ключевое слово virtual, почему это ...
вопрос задан: 22 March 2016 01:53
0
ответов

имеет ли смысл использовать виртуальный шаблонный метод?

Предположим, что такая конструкция: class Interface { public: template virtual void reportOperationError (T code, std :: string message) = 0; }; я не понимаю вариант использования для ...
вопрос задан: 13 February 2016 16:31
0
ответов

gcc Woverloaded-virtual warnings

Следующий код C++, который я считаю правильным, но выдает некоторые предупреждения при компиляции с "-Woverloaded-virtual". Если это подделка...
вопрос задан: 6 December 2015 13:17
0
ответов

Как динамически загружать C # dll из C ++ DLL

У меня есть приложение на C ++. Это поддерживает пользовательские библиотеки подключаемых модулей C ++, он будет динамически загружать эти библиотеки DLL, а затем сможет динамически создавать и использовать пользовательские типы. Эти типы пользователей п
вопрос задан: 10 September 2015 09:41
0
ответов

Какая первая (int (*) (…)) 0 запись vtable в выводе g ++ -fdump-class -ierarchy?

Для этого кода: класс B1 { общедоступные: виртуальная void f1 () {}}; class D: public B1 { public: void f1 () {} }; int main () {B1 * b1 = новый B1 (); D * d = новый D (); возврат 0; } После ...
вопрос задан: 25 June 2015 03:09
0
ответов

Можете ли вы написать виртуальные функции / методы в Java?

Можно ли писать виртуальные методы в Java, как в C ++? Или есть ли подходящий подход Java, который вы можете реализовать, который производит подобное поведение? Могу я привести несколько примеров?
вопрос задан: 11 April 2015 19:10
0
ответов

Ковариация возвращаемого типа с интеллектуальными указателями

В C ++ мы можем сделать это: struct Base {виртуальная база * Clone () const {...} виртуальная база ~ Base () {} }; struct Derived: Base {virtual Derived * Clone () const {...} // переопределяет Base :: Clone }; ...
вопрос задан: 2 December 2014 15:49
0
ответов

Почему виртуальные функции нужно передавать с помощью указателя, а не по значению (объекта)?

Я думаю, что понимаю концепцию виртуальных методов и vtables, но не понимаю, почему существует разница между передачей объекта как указателя (или ссылки) и передачей его по значению (что ...
вопрос задан: 27 November 2014 14:02
0
ответов

Как применить виртуальную функцию в javascript

В C# у нас есть концепция абстрактного метода и как чтобы применить это в Javascript. Пример, у меня есть пример: function BaseClass() { this.hello = function() { this.talk(); } this....
вопрос задан: 25 July 2014 07:13
0
ответов

Необходимо понять приведенный ниже код для виртуальных методов C #

. это небольшой код, который показывает виртуальные методы. класс А { public virtual void F (){ Console.WriteLine ("A.F" ); } } класс Б :А { public override void F (){ Console.WriteLine ("BF" ); } } класс С :...
вопрос задан: 29 September 2013 00:06
0
ответов

Что означает ключевое слово virtual при переопределении метода?

Что делает ключевое слово virtual при переопределении метода? Не пользуюсь и все нормально работает. Все ли компиляторы ведут себя в этом отношении одинаково? Следует использовать его или нет?
вопрос задан: 24 September 2013 02:13
0
ответов

Как писать универсальный код, избегая косвенных вызовов?

Есть ли способ вызвать писать универсальные программы и алгоритмы на C #, избегая при этом накладных расходов на динамическое решение? Рассмотрим простой пример: static void QuickSort (T [] arr, int left, ...
вопрос задан: 3 September 2013 19:49
0
ответов

Изменение сигнатур абстрактных методов в унаследованных классах

Представьте, что у меня есть класс под названием Engine в качестве абстрактного базового класса. У меня также есть классы ElectrictEngine и FuelEngine, которые являются производными от него. Хочу создать способ заправки двигателя. Должен ли я ...
вопрос задан: 8 July 2013 19:15
0
ответов

«виртуальное» ключевое слово C ++ для функций в производных классах. Это необходимо?

В приведенном ниже определении структуры ... struct A {virtual void hello () = 0; }; Подход №1: структура B: public A {virtual void hello () {...} }; Подход №2: структура B: public A {...
вопрос задан: 8 July 2013 11:29
0
ответов

Hvorfor ikke alle funktionerne som virtuelle i C ++?

Jeg ved, at virtuelle funktioner har en overhead af dereferencing for at kalde en metode. Men jeg antager, at det med moderne arkitektonisk hastighed er næsten ubetydeligt. Er der nogen særlig grund til, at alle ...
вопрос задан: 8 July 2013 10:59
0
ответов

Вызов виртуальной функции и чистой виртуальной функции из конструктора

Когда я вызываю виртуальную функцию из базового конструктора, компилятор не выдает никаких ошибок.Но когда я вызываю чисто виртуальную функцию из конструктора базового класса, возникает ошибка компиляции. ...
вопрос задан: 27 May 2013 17:38
0
ответов

Member function templates cannot be declared virtual - From Addison Wesley: C++ Templates

From Addison Wesley: C++ Templates Member function templates cannot be declared virtual. Это ограничение накладывается потому, что обычная реализация механизма вызова виртуальных функций ...
вопрос задан: 21 January 2013 06:49
0
ответов

Тип возврата виртуальной функции C ++

Может ли унаследованный класс реализовать виртуальную функцию с другим типом возвращаемого значения (не с использованием шаблона в качестве возврата)?
вопрос задан: 7 January 2013 05:31
0
ответов

Другой тип возвращаемого значения для виртуальных функций

Тип возвращаемого значения виртуальной функции должен быть того же типа, что и в базовом классе, или ковариантный. Но почему у нас есть это ограничение?
вопрос задан: 7 August 2012 18:35
0
ответов

Я пытаюсь практиковать принципы полиморфизма и OOD [в C ++]. Нужны указания и ответы на пару вопросов

Я пишу простую 2D-игру, сосредоточенную вокруг лабиринтов с элементами RPG. Это в первую очередь в учебных целях, чтобы практиковать дизайн классов, алгоритмы теории графов, использование структуры данных и использование 2D ...
вопрос задан: 5 August 2012 17:09
0
ответов

Какая польза от вызова виртуального метода Java? [закрыто]

Я понимаю, что такое вызов метода Java, и использовал его на многих примерах. Я хочу знать, какова практическая ситуация или необходимость этой концепции. Было бы здорово, если бы кто-нибудь...
вопрос задан: 11 July 2012 11:21
0
ответов

Реализовать две функции с одинаковыми именами, но разными, не -ковариантными типами возвращаемого значения из-за нескольких абстрактных базовых классов

. Если у меня есть два абстрактных класса, определяющих чистую виртуальную функцию с одним и тем же именем, но разными, не -ковариантными возвращаемыми типами, как я могу вывести их и определить реализацию для обоих их...
вопрос задан: 7 July 2012 03:09
0
ответов

расположение указателя таблицы виртуальных функций в объекте

Насколько я понимаю, расположение указателя таблицы виртуальных функций в объекте зависит от компилятора. Есть ли плюсы/минусы размещения этого указателя в начале объекта или в конце или...
вопрос задан: 7 June 2012 03:09
0
ответов

Когда следует ограничивать доступ к виртуальной функции в производном классе?

Рассмотрим следующий код :class Base { public :virtual void Foo (){} }; Производный класс :общедоступная база { частный :void Foo (){} }; функция пустоты (){ Base *a = new Derived; а ->Фоо (); /...
вопрос задан: 27 April 2012 06:47
0
ответов

Как вызвать виртуальный метод из другого метода базового класса, даже если текущий экземпляр относится к производному классу?

Как вызвать виртуальный метод из другого метода базового класса, даже если текущий экземпляр относится к производному классу? Я знаю, что мы можем вызвать Method2 в базовом классе из метода в производном...
вопрос задан: 29 March 2012 08:56