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

7 ответов

Вызов виртуального метода в конструкторе: разница между Java и C ++

В Java:

5 ответов

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

аюсь разобраться в утверждении в книге эффективно C ++. Ниже приведена схема наследования для множественного наследования. Теперь в книге говорится, что для каждого vptr требуется отдельная память в каждом классе. Также это делает следующее ...

3 ответа

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

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

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

7 ответов

Вызов виртуального метода в конструкторе: разница между Java и C ++

В Java: class Base { public Base() { System.out.println("Base::Base()"); virt(); } void virt() { System.out.println("Base::virt()"); } } class Derived extends Base { public Derived() { System.out.println("Derived::Derived()"); virt(); } ...

7 ответов

Почему вптр не стоит на месте?

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

3 ответа

Виртуальное наследование и пустой vtable в базовом классе

Вот этот код: #include <iostream> class Base { int x; }; class Derived : virtual public Base { int y; }; int main() { std::cout << sizeof(Derived) << std::endl; // prints 12 return 0; }Я читал, что когда какой-то класс виртуально наследуется, ...

6 ответов

Почему вптр не стоит на месте?

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

2 ответа

Сколько vptr будет иметь объект класса (использует одиночное / множественное наследование)?

Сколько vptrs обычно требуется для объекта, у которого clas (child) имеет одиночное наследование с базовым классом, который множественно наследует base1 и ba...

3 ответа

Детали реализации виртуальной отправки

Прежде всего, я хочу прояснить, чтоЯ понимаю, что в стандарте C ++ нет понятия vtables и vptrs, Однако я думаю, что практически все реализации реализуют меха...