0
ответов

Переопределение функции-члена с другим типом возврата

Рассмотрим следующий пример: #include using namespace std; class base { public: virtual int func() { cout << "vfunc in base class\n"; return 0;...
вопрос задан: 23 January 2012 04:49
0
ответов

Разница между вызовом виртуальной и не виртуальной функции?

На самом деле это вопрос собеседования, я не могу понять ответ. Кто-нибудь знает об этом? Можно говорить о любых различиях, например, о данных, которые помещаются в стек.
вопрос задан: 8 January 2012 10:02
0
ответов

«Предупреждение: не удается найти символ компоновщика для виртуальной таблицы для значения XXX» с использованием GCC и GDB (CodeBlocks)

Я получаю ошибку времени выполнения («память не может быть написано "), что после проверки через отладчик приводит к предупреждению в заголовке. Заголовки следующие: component.h: #ifndef ...
вопрос задан: 2 January 2012 08:05
0
ответов

Конструктор не может быть виртуальным

В одном из учебных пособий по C ++ в Интернете я обнаружил нижеприведенное описание того, почему конструктор не может быть виртуальным. Мы не можем объявить виртуальный конструктор. Мы должны указать точный тип ...
вопрос задан: 14 December 2011 15:21
0
ответов

Полиморфизм C ++, неполное понижающее преобразование

У меня есть массив, содержащий ссылки на мягкий базовый тип, назовем его Object. Я получил Class1 от Object и Class2 от Class1. #include class Object {}; class Class1: ...
вопрос задан: 10 December 2011 23:32
0
ответов

переопределение функции c #

Я просто пытался освоить концепцию виртуальной функции с помощью консольного приложения. Я заметил, что как только я переопределяю функцию базового класса, return baseclassname.functionname (parameters) вставляется в ...
вопрос задан: 29 November 2011 10:57
0
ответов

Реализация одной и той же сигнатуры метода из двух «интерфейсов»

Используя чистые виртуальные методы для искусственных интерфейсов в C ++, что происходит, когда конкретный класс является производным от двух «интерфейсов», которые имеют идентичное объявление метода? например, подклассы X Iaaa и Ibbb и ...
вопрос задан: 24 October 2011 08:35
0
ответов

Как смотреть vtable в gdb в программе на C ++?

У меня есть интересная проблема в одной из моих программ на C ++. По-видимому, vtable одного из моих классов испортилась во время выполнения программы. В сеансе gdb я обнаружил, что если я вызываю метод ...
вопрос задан: 6 October 2011 17:52
0
ответов

Принудительный класс для вызова базовой функции в MATLAB?

Базовый класс имеет функцию f. Производный класс перезаписывает функцию f. Я хочу вызвать базовый класс' f для объекта производного класса. Как это сделать? Вот пример кода. Базовый класс classdef ...
вопрос задан: 16 September 2011 12:53
0
ответов

Перегрузка виртуальных функций того же имени от разных базовых классов. Является ли это возможным? [Дубликат]

Название, вероятно, запутано. Предположим, у нас есть следующие настроители; класс а. { Публичное: виртуальная пустота Fn () = 0; }; класс B. { Публичное: Virtual int fn () {}; }; Класс C: Public A, Public B { }; ...
вопрос задан: 6 September 2011 11:57
0
ответов

Как определить, переопределен ли виртуальный метод в C # [дубликат]

Можно ли определить, был ли переопределен виртуальный метод: class ABase {public void DoSomething (объект p) {p.Process (); if (/ * DoSomethingExtra реализовано * /) ...
вопрос задан: 29 August 2011 18:12
0
ответов

C #: Есть ли способ пропустить один из базовых вызовов в полиморфизме?

class GrandParent {public virtual void Foo () {...} } class Parent: GrandParent {публичное переопределение void Foo () {base.Foo (); // Проделаем дополнительную работу} } class Child: ...
вопрос задан: 2 August 2011 14:19
0
ответов

Указатель C ++ на виртуальную функцию

Если у вас есть структура, подобная этой, struct A {void func ( ); }; и ссылку, подобную этой A & a; вы можете получить указатель на его метод func следующим образом: someMethod (& A :: func); Что теперь ...
вопрос задан: 19 July 2011 22:18
0
ответов

Виртуальная таблица / таблица диспетчеризации

Насколько мне известно о CPP, каждый класс имеет свою собственную виртуальную таблицу. Однако эта ссылка в Википедии упоминает: Таблица диспетчеризации объекта будет содержать адреса динамически привязанных методов объекта. ...
вопрос задан: 7 July 2011 06:19
0
ответов

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

Предположим, у меня есть класс с виртуальной функцией и производный класс, реализующий виртуальную функцию по-другому. Предположим, у меня также есть вектор базового класса, используемого для хранения производных ...
вопрос задан: 5 June 2011 00:19
0
ответов

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

struct A {виртуальная void foo (); // неиспользуемая и нереализованная виртуальная пустая панель () {} }; int main () {Объект; // нормально obj.bar (); // <- добавлено это издание A * pm = (A *) malloc (sizeof (A)) ...
вопрос задан: 4 June 2011 02:15
0
ответов

About multiple inheritance and defining virtual function

I have a multiple inheritance scenario without virtual base classes like this: Ta Tb | | B C \ / A Ta and Tb are two different template classes that both declare a virtual function ...
вопрос задан: 6 May 2011 13:44
0
ответов

В C ++ не нарушает ли ABI переопределение существующей виртуальной функции ?

В моей библиотеке два класса: базовый и производный. В текущей версии библиотеки базовый класс имеет виртуальную функцию foo (), а производный класс не переопределяет ее. В следующем ...
вопрос задан: 21 April 2011 15:13
0
ответов

Доступ к v-таблице во время выполнения

Можно ли получить доступ к v-таблице функции во время выполнения? Можно ли определить метаинформацию, такую ​​как количество различных версий функции? Это может быть больше теоретический вопрос, но мог бы ...
вопрос задан: 21 April 2011 05:59
0
ответов

Can one extend virtual interface without recompilation of client code?

A library provides a class with virtual functions. Can this class be extended with new virtual functions without recompiling binaries dynamically linked to the library? I beleive this is not possible ...
вопрос задан: 20 April 2011 20:31
0
ответов

Виртуальные функции против обратных вызовов

Рассмотрим сценарий, в котором есть два класса, т.е. базовый и производный. Если базовый класс хочет вызвать функцию производного класса, он может сделать это, создав виртуальную функцию и определив ...
вопрос задан: 13 April 2011 06:34
0
ответов

C ++: «Виртуальный» унаследован всем потомкам

Предположим, что в следующем простом случае (обратите внимание на расположение виртуального) класс A {virtual void func (); }; класс B: общедоступный A {void func (); }; класс C: общественность B {void func (); }; Будет ли ...
вопрос задан: 10 April 2011 09:03
0
ответов

Переопределение квалифицированных виртуальных методов

У меня есть класс C ++ с несколькими родителями; каждый родитель определяет функцию с общим именем, но разным назначением: класс BaseA {виртуальная пустота myFunc (); // выполняет какую-то задачу }; класс BaseB {...
вопрос задан: 30 March 2011 02:53
0
ответов

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

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

Как узнать, когда функция должна быть виртуальной?

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

Виртуальные функции: Итерация над вектором<Базовый класс>, который заполнен объектами подкласса

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

Зачем беспокоиться о виртуальных функциях в C ++?

Это не вопрос о том, как они работают и объявлены, это я думаю мне довольно ясно. Вопрос в том, зачем это реализовывать? Я полагаю, что практическая причина состоит в том, чтобы упростить кучу ...
вопрос задан: 4 March 2011 10:09
0
ответов

C ++: указатель на мономорфную версию виртуальной функции-члена ?

В C ++ можно получить указатель на (нестатическую) функцию-член класса, а затем вызвать ее для объекта. Если функция была виртуальной, вызов отправляется динамически в зависимости от ...
вопрос задан: 21 February 2011 10:08
0
ответов

Вызов конструктора C ++ Base с параметром, который будет построен в производном конструкторе

ВОПРОС 1) class Base {Base (std :: string name); виртуальный std :: string generateName (); } class Derived: Base {Derived (); виртуальный std :: string generateName (); } вот и ...
вопрос задан: 12 February 2011 21:40
0
ответов

Виртуальная функция C ++ не определена во время компоновки - почему?

У меня возникли небольшие проблемы с использованием виртуальных функций в C ++, и я мог неправильно использовать их в конструкторе. Проблема в том, что при компоновке библиотеки компонентов (написанной мной) в мой последний исполняемый файл ...
вопрос задан: 12 February 2011 20:23