0
ответов

Как определить, есть ли в классе C ++ виртуальная таблица?

Сегодня сегодня мой друг прислал мне следующий запрос: Учитывая следующий код, предложить реализацию OBJECT_HAS_VTABLE, чтобы программа печатала AnObject has a vtable = 0, ...
вопрос задан: 2 July 2019 18:36
0
ответов

понимание vptr в множественном наследовании?

Я пытаюсь разобраться в утверждении в книге «Эффективный C ++». Ниже приводится диаграмма наследования для множественного наследования. Теперь в книге говорится, что для vptr требуется отдельная память в каждом классе. ...
вопрос задан: 8 July 2018 18:01
0
ответов

Подробности реализации виртуальной диспетчеризации

Прежде всего, я хочу прояснить, что я действительно понимаю, что в стандарте C ++ нет понятия vtables и vptrs. Однако я думаю, что практически все реализации реализуют ...
вопрос задан: 12 June 2018 11:49
0
ответов

V-таблица C ++: часть языка или зависит от компилятора?

Является ли v-таблица (таблица виртуальных методов) частью спецификации C ++ или это зависит от компилятора решить поиск виртуального метода? Если это часть спецификации: почему? Думаю, это ...
вопрос задан: 14 October 2017 11:10
0
ответов

Из-за чего указатель VTable может быть 0xdddddddd в отладочной сборке Win32?

Я отлаживаю дефект и сузил его вниз до указателя vtable для объекта, являющегося 0xdddddddd. Этот ответ указывает на то, что отладочные сборки Win32 обычно устанавливают мертвую память или память, которая ...
вопрос задан: 23 May 2017 12:31
0
ответов

Как подавить генерацию таблиц C++ для чистых виртуальных классов с помощью G++?

Подавление генерации таблиц C++ можно сделать в MSVC с помощью атрибута __declspec(novtable). Однако, похоже, что для компилятора GNU C++ эквивалентного атрибута не существует. Дело в том, что ...
вопрос задан: 23 May 2017 12:01
0
ответов

Virtual Functions Object Slicing

My question is with reference to this question which explains how virtual functions work in case of object slicing which end up calling base class virtual function and Wikipedia article which explains ...
вопрос задан: 23 May 2017 11:54
0
ответов

неопределенная ссылка на vtable для …

Я пытаюсь написать Http-прокси, который в основном работает как indianwebproxy Итак, я запустил qtcreator, но один из моих классов не компилируется с печально известной ошибкой: неопределенная ссылка на ..
вопрос задан: 23 May 2017 11:53
0
ответов

Как внутренние интерфейсы Java реализованы? (vtables?)

C ++ имеет множественное наследование. Реализация множественного наследования на уровне сборки может быть довольно сложной, но в Интернете есть хорошие описания того, как это обычно делается (vtables, ...
вопрос задан: 23 May 2017 11:46
0
ответов

Что такое VTT для класса?

Недавно столкнулся с новой для меня ошибкой компоновщика C ++. libfoo.so: неопределенная ссылка на `VTT for Foo ' libfoo.so: undefined ссылка на `vtable for Foo 'Я обнаружил ошибку и исправил мою ...
вопрос задан: 13 December 2015 21:13
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
ответов

Неопределенная ссылка на 'vtable for xxx'

takeaway.o: в функция `takeaway ': project: 145: undefined ссылка на` vtable for takeaway' project: 145: undefined ссылка на `vtable for takeaway ' takeaway.o: в функции `~ takeaway ': project: 151: ...
вопрос задан: 12 November 2014 10:48
0
ответов

Количество виртуальных таблиц и виртуальных указателей в программе на C ++

Допустим, у нас есть программа ниже: класс A {общественность: виртуальное развлечение () {}; }; класс B: общественный A {общественность: виртуальное развлечение () {}; }; int main () {A a1; B b1; } Мой вопрос в том, сколько ...
вопрос задан: 4 October 2012 11:36
0
ответов

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

это своего рода домашний вопрос. Для следующего кода #include используя пространство имен std; класс А { public: virtual void f () {} }; класс B { public: virtual void f2 () {} }; ...
вопрос задан: 18 September 2012 05:05
0
ответов

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

Сколько vptrs обычно необходимо для объекта, класс которого (ребенок) имеет единичное наследование с базовым классом, который несколько наследовали base1 и base2. Какова стратегия идентификации сколько vptrs...
вопрос задан: 8 August 2012 23:40
0
ответов

Виртуальная таблица интерфейса

Имеют ли интерфейсы (полиморфный класс исключительно с чисто виртуальными функциями) виртуальную таблицу? Поскольку интерфейсы сами не реализуют полиморфную функцию и не могут быть сконструированы напрямую, не было бы...
вопрос задан: 25 June 2012 20:02
0
ответов

Таблица методов Java

Я многое узнал о том, как C++ управляет своими виртуальными таблицами при наличии наследования (множественное, виртуальное и т. д. )и как он укладывает объекты в памяти. Теперь Java должна заботиться только об одной строке...
вопрос задан: 19 April 2012 10:33
0
ответов

C ++ Undefined Ссылка на vtable и наследование

Файл A.h #ifndef A_H_ #define A_H_ class A {public: virtual ~ A (); виртуальный void doWork (); }; #endif File Child.h #ifndef CHILD_H_ #define CHILD_H_ #include класс "A.h" Child: public A {...
вопрос задан: 23 February 2012 23:49
0
ответов

Невозможно выполнить понижающее преобразование, потому что класс не является полиморфным?

Возможно ли наследование без виртуальных методов? Компилятор сообщает, что следующий код не является полиморфным. Пример: Class A () {int a; int getA () {вернуть;}; } Class B (): ...
вопрос задан: 12 December 2011 04:22
0
ответов

C ++ Интервью: vtable для класса с чисто виртуальной функцией

Мне задали этот вопрос сегодня! (это было действительно неловкое телефонное интервью ..): В чем разница между vtable для класса с виртуальными функциями и класса с чистым ...
вопрос задан: 3 October 2011 14:15
0
ответов

Альтернативы vtable

Vtables повсеместно используются в большинстве объектно-ориентированных реализаций, но есть ли у них альтернативы? На вики-странице для vtables есть короткая аннотация, но не так много информации (и заглушенных ссылок). Вы знаете о некоторых ...
вопрос задан: 10 August 2011 16:40
0
ответов

Возможно ли в IDA Pro сделать смещение поля структуры в vtable, которое определено в сегменте .data?

Вот чего я хочу добиться. Я определил класс, который определил как структуру для хранения данных класса. Один из методов класса использует поле класса как указатель на vtable. int __thiscall ...
вопрос задан: 9 May 2011 02:03
0
ответов

Какова структура виртуальных таблиц в C ++?

Например, у меня есть два "интерфейса" и тип класса: class IPlugin {public: virtual void Load (void) = 0; виртуальная пустота Free (void) = 0; }; класс IFoo {public: virtual void Foo (void) = ...
вопрос задан: 3 May 2011 15:20
0
ответов

Qt: Сигналы и слоты Ошибка: неопределенная ссылка на `vtable для

Следующий пример из этой ссылки: http://developer.kde.org/documentation/books/ kde-2.0-development / ch03lev1sec3.html #include #include #include ...
вопрос задан: 2 May 2011 07:50
0
ответов

Все ли классы имеют Vtable, созданные для них компилятором?

В Интернете есть много ресурсов о VTables. У них обычно есть одно и то же утверждение относительно них: «Всякий раз, когда класс сам содержит виртуальные функции или переопределяет виртуальные функции от родителя ...
вопрос задан: 18 April 2011 23:12
0
ответов

VTable и полиморфизм

После того, как я много прочитал о VTables, у меня остался один вопрос без ответа. Учитывая следующий класс: #include используя пространство имен std; class Shape { общедоступные: int * a; Shape () {...
вопрос задан: 1 April 2011 11:17
0
ответов

Позиционно-независимый код и vtable

Как виртуальные функции реализованы в позиционно-независимом коде? Я знаю, что если в моем классе есть виртуальные функции, компилятор обычно генерирует для него vtable, которая содержит адреса всех ...
вопрос задан: 21 March 2011 12:21
0
ответов

Как использовать отложенную загрузку с DLL, которая экспортирует классы C ++

У меня есть DLL one.dll, которая использует класс TwoClass, экспортированный из двух. dll через класс __declspec (dllexport). Я бы хотел, чтобы one.dll использовал / delayload для two.dll, но я получаю сообщение об ошибке: LINK: fatal error ...
вопрос задан: 8 March 2011 13:11
0
ответов

Q_OBJECT выдает ошибку «неопределенная ссылка на vtable» [дубликат]

Я использую Qt Creator 2.0.1 с Qt 4.7.0 (32 бит) в Windows 7 Ultimate 32 бит. Рассмотрим следующий код, который является минимумом для возникновения ошибки: class T: public QObject, public QGraphicsItem { ...
вопрос задан: 23 January 2011 14:24
0
ответов

undefined ссылка на vtable - виртуальный член, классы, созданные gsoap

gsoap с его инструментами wsdl2h и soapcpp2 предоставил мне файл soapStub.h, содержащий следующее: class SOAP_CMAC ns2__SOAPKunden {public: std: : строка * adresszusatz; // ... public: ...
вопрос задан: 4 January 2011 11:47