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

4 ответа

подробности компилятора об этом указателе, виртуальной функции и множественном наследовании

Я читаю статью Бьярне:Множественное наследование для C ++.В разделе 3 на странице 370 Бьярне сказал, что «компилятор превращает вызов функции-члена в« обычны...

2 ответа

Я никогда не думал, что класс может превратиться из производного в базу, а затем вернуться к производному в одной последовательности построения. Ты узнаешь что-то новое каждый день.

С 1) class Base { Base(std::string name); virtual std::string generateName(); } class Derived : Base { Derived(); virtual std::string generateName(); }здесь возникает вопрос: какой метод будет вызываться на generateName ()? Derived :: Derived ...

4 ответа

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

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

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

3 ответа

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

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

9 ответов

Почему C # реализует методы как не виртуальные по умолчанию?

В отличие от Java, почему C # обрабатывает методы как не виртуальные функции по умолчанию? Это скорее проблема производительности, чем другие возможные результаты? Мне напоминают о прочтении параграфа Андерса Хейлсберга о ...

2 ответа

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

Для устранения неиспользуемой (обычной) функции я могу использовать: -ffunction-section, -fdata-section и --gc-section. и это работает. Я знаю, что при использовании полиморфизма функции являются «поздним связыванием», поэтому я полагаю, что нет ...

3 ответа

Вы можете получить указатель на него, например, так:

у вас есть такая структура struct A { void func(); };и ссылка, как этот A& a;вы можете получить указатель на егоfunc метод как это: someMethod(&A::func);А что если этот метод является виртуальным, и вы не знаете, что это во время выполнения? ...

2 ответа

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

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

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()' ...

4 ответа

Виртуальная таблица C ++

Я читал много людей, которые писали: «Для класса, в котором объявлена ​​виртуальная функция, существует виртуальная таблица».Мой вопрос: существует ли vtable...