Результаты поиска по запросу "virtual-functions"

2 ответа

Спасибо вам большое!

ое описание: Я перебираю вектор, вызывая виртуальную функцию для каждого объекта в векторе, чтобы выполнить последовательность действий. Вектор имеет базовый класс, как и итератор. Все предметы - дети. Когда вызывается виртуальная функция, ...

7 ответов

Хорошая причина называется виртуальными таблицами. Объекты типов, которые имеют виртуальные методы, имеют таблицу указателей, указывающих на адрес реальных виртуальных методов, которые будут вызваны. Это так называемые виртуальные таблицы или виртуальные таблицы.

жный дубликат: C ++: почемуnew нужно? [https://stackoverflow.com/questions/4904762/c-why-is-new-needed] Почему я не могу использовать malloc для выделения пространства для моих объектов, когда они являются детьми класса, содержащего виртуальные ...

3 ответа

этот вопрос

#include <iostream> class base { public: virtual void print (int a) { std::cout << "a: " << a << " base\n"; } virtual void print (int a, int b) { std::cout << "base\n"; } }; class derived : public base { public: virtual void print (double d) { ...

ТОП публикаций

3 ответа

Я прочитал это три отдельных раза как «лук» и мог только представить, в чем заключался ваш «грязный» рабочий процесс.

предлагается в этом вопросе о динамическом полиморфизме. Тем не менее, эта модель предположительно полезна только для статического полиморфизма. Кажется, что дизайн, на который я смотрю, быстро блокируется вызовами виртуальных функций, так ...

4 ответа

https://msdn.microsoft.com/en-us/library/aa691135(v=vs.71).aspx

ожет быть хорошим моментом, но это касается предупреждения о том, что компилятор выдает, если вы делаете что-то вроде: class A { public virtual void F() { } } class B : A { public void F() { } }Тогда вы получите предупреждение: 'EomApp1.B.F()' ...

3 ответа

Использование маркировки функции как виртуальной заключается в том, что вы просите компилятор отложить или выяснить «ТИП» объекта, вызывающего эту функцию во время выполнения, а не обычным способом «время компиляции». Это достигается с помощью указателей на объекты. Таким образом, чтобы выразить это в простой строке «Использовать указатели на объекты, чтобы использовать виртуальные функции».

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

1 ответ

По сути, я создал шаблон, который обеспечивает «псевдо-наследование смешанного режима». Теперь мои объекты c # происходят от базового класса в c ++.

я есть приложение на C ++. Это поддерживает пользовательские DLL-библиотеки плагинов C ++, они будут динамически загружать эти DLL, а затем смогут динамически создавать и использовать типы пользователей. Эти типы пользователей являются ...

3 ответа

Первая стандартная цитата, которую я дал в своем ответе, показывает, что ваше объяснение не совсем верно. Когда вы добавляете поздний ответ, полезно на всякий случай прочитать и понять существующие ответы.

е про"Когда VTABLE создан?" [https://stackoverflow.com/questions/3849498/when-is-vtable-in-c-created], Скорее, когда VPTR должен быть инициализирован? Это в начале / конце конструктора или до / после конструктора? A::A () : i(0), j(0) -->> here ...

4 ответа

thnx .. вы имеете в виду наоборот ... у каждого класса есть таблица диспетчеризации, которая совместно используется его экземплярами [объектами]

го, что я знаю о CPP, у каждого класса есть свой собственный vtable. тем не мениеэто [http://en.wikipedia.org/wiki/Virtual_method_table]ссылка на википедию упоминает: Таблица диспетчеризации объекта будет содержать адреса динамически ...

4 ответа

Виртуальные функции и производительность - C ++

ожусь в ситуации, когда у меня есть игровые объекты с виртуальной функцией Update (). Есть много игровых объектов (в настоящее время их чуть больше 7000), и цикл вызывает обновление для всех из них (среди прочего). Мой коллега предложил полностью ...