На самом деле это вопрос собеседования, я не могу понять ответ. Кто-нибудь знает об этом?
Можно говорить о любых различиях, например, о данных, которые помещаются в стек.
Я получаю ошибку времени выполнения («память не может быть написано "), что после проверки через отладчик приводит к предупреждению в заголовке. Заголовки следующие: component.h: #ifndef ...
В одном из учебных пособий по C ++ в Интернете я обнаружил нижеприведенное описание того, почему конструктор не может быть виртуальным. Мы не можем объявить виртуальный конструктор. Мы должны указать точный тип ...
У меня есть массив, содержащий ссылки на мягкий базовый тип, назовем его Object. Я получил Class1 от Object и Class2 от Class1. #include class Object {};
class Class1: ...
Я просто пытался освоить концепцию виртуальной функции с помощью консольного приложения. Я заметил, что как только я переопределяю функцию базового класса, return baseclassname.functionname (parameters) вставляется в ...
Используя чистые виртуальные методы для искусственных интерфейсов в C ++, что происходит, когда конкретный класс является производным от двух «интерфейсов», которые имеют идентичное объявление метода? например, подклассы X Iaaa и Ibbb и ...
У меня есть интересная проблема в одной из моих программ на C ++. По-видимому, vtable одного из моих классов испортилась во время выполнения программы. В сеансе gdb я обнаружил, что если я вызываю метод ...
Базовый класс имеет функцию f.
Производный класс перезаписывает функцию f.
Я хочу вызвать базовый класс' f для объекта производного класса. Как это сделать? Вот пример кода. Базовый класс classdef ...
Название, вероятно, запутано. Предположим, у нас есть следующие настроители; класс а.
{
Публичное: виртуальная пустота Fn () = 0;
}; класс B.
{
Публичное: Virtual int fn () {};
}; Класс C: Public A, Public B
{
}; ...
Можно ли определить, был ли переопределен виртуальный метод: class ABase {public void DoSomething (объект p) {p.Process (); if (/ * DoSomethingExtra реализовано * /) ...
Если у вас есть структура, подобная этой, struct A {void func ( );
}; и ссылку, подобную этой A & a; вы можете получить указатель на его метод func следующим образом: someMethod (& A :: func); Что теперь ...
Насколько мне известно о CPP, каждый класс имеет свою собственную виртуальную таблицу. Однако эта ссылка в Википедии упоминает: Таблица диспетчеризации объекта будет содержать адреса динамически привязанных методов объекта. ...
Предположим, у меня есть класс с виртуальной функцией и производный класс, реализующий виртуальную функцию по-другому. Предположим, у меня также есть вектор базового класса, используемого для хранения производных ...
struct A
{виртуальная void foo (); // неиспользуемая и нереализованная виртуальная пустая панель () {}
}; int main ()
{Объект; // нормально obj.bar (); // <- добавлено это издание A * pm = (A *) malloc (sizeof (A)) ...
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 ...
В моей библиотеке два класса: базовый и производный. В текущей версии библиотеки базовый класс имеет виртуальную функцию foo (), а производный класс не переопределяет ее. В следующем ...
Можно ли получить доступ к v-таблице функции во время выполнения? Можно ли определить метаинформацию, такую как количество различных версий функции? Это может быть больше теоретический вопрос, но мог бы ...
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 ...
Рассмотрим сценарий, в котором есть два класса, т.е. базовый и производный. Если базовый класс хочет вызвать функцию производного класса, он может сделать это, создав виртуальную функцию и определив ...
Предположим, что в следующем простом случае (обратите внимание на расположение виртуального) класс A {virtual void func ();
}; класс B: общедоступный A {void func ();
}; класс C: общественность B {void func ();
}; Будет ли ...
У меня есть класс C ++ с несколькими родителями; каждый родитель определяет функцию с общим именем, но разным назначением: класс BaseA
{виртуальная пустота myFunc (); // выполняет какую-то задачу
};
класс BaseB
{...
Как виртуальные функции реализованы в позиционно-независимом коде? Я знаю, что если в моем классе есть виртуальные функции, компилятор обычно генерирует для него vtable, которая содержит адреса всех ...
Как при описании класса узнать, когда функция должна быть виртуальной? Я знаю, что означает виртуальная функция, но я просто не могу понять, когда мне следует сделать их виртуальными. Спасибо
Краткое описание:
Я выполняю итерацию по вектору, вызывая виртуальную функцию для каждого объекта в векторе, чтобы выполнить последовательность действий. Вектор, как и итератор, относится к базовому классу. ...
Это не вопрос о том, как они работают и объявлены, это я думаю мне довольно ясно. Вопрос в том, зачем это реализовывать?
Я полагаю, что практическая причина состоит в том, чтобы упростить кучу ...
В C ++ можно получить указатель на (нестатическую) функцию-член класса, а затем вызвать ее для объекта. Если функция была виртуальной, вызов отправляется динамически в зависимости от ...
ВОПРОС 1) class Base {Base (std :: string name); виртуальный std :: string generateName ();
} class Derived: Base {Derived (); виртуальный std :: string generateName ();
} вот и ...
У меня возникли небольшие проблемы с использованием виртуальных функций в C ++, и я мог неправильно использовать их в конструкторе. Проблема в том, что при компоновке библиотеки компонентов (написанной мной) в мой последний исполняемый файл ...