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

3 ответа

список полиморфных объектов

У меня есть конкретный сценарий ниже. Приведенный ниже код должен напечатать функцию 'say ()' класса B и C и напечатать 'B говорит ..' и 'C говорит ...', но это не так. Любые идеи. Я изучаю полиморфизм, поэтому я также прокомментировал несколько ...

9 ответов

Можете ли вы кэшировать поиск виртуальных функций в C ++?

Скажем, у меня есть вызов виртуальной функции foo () для абстрактного указателя базового класса, mypointer-> foo (). Когда мое приложение запускается, основываясь на содержимом файла, оно решает создать экземпляр конкретного конкретного класса и ...

5 ответов

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

Играя с реализацией оператора виртуального присваивания, я закончил с забавным поведением. Это не сбой компилятора, поскольку g ++ 4.1, 4.3 и VS 2005 ведут себя одинаково. По сути, виртуальный оператор = ведет себя иначе, чем любая другая ...

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

4 ответа

Откуда происходят сбои «чистого вызова виртуальной функции»?

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

1 ответ

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

Я новичок в этих важных функциях C ++, я уже прочитал несколько вопросов / ответов по этим темам здесь и погуглил несколько документов. Но я все еще путаюсь с этим ... Было бы здорово, если бы кто-нибудь посоветовал мне хороший онлайн-учебник ...

5 ответов

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

Скотт сказал на Effective C ++, 3-е издание, стр. 43 что для создания абстрактного класса нам просто нужно дать ему чистый виртуальный деструктор: class AWOV { // AWOV = "Abstract w/o Virtuals" public: virtual ~AWOV() = 0; // declare pure ...

3 ответа

Виртуальные функции в C ++ и Java

Я читал о виртуальных функциях и нашел, VF используются при полиморфизме наследственного класса. Таким образом, если класс и производный класс имеют одинаковое имя функции, VF связывает соответствующую функцию с вызовом функции. т.е. если ...

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(); } ...

3 ответа

Правильная реализация виртуальных функций в PHP?

на моем рабочем месте (только php) у нас есть базовый класс для абстракции базы данных. Если вы хотите добавить новую таблицу базы данных в базовый слой, вам нужно создать подкласс этого базового класса и переопределить некоторые методы, чтобы ...

2 ответа

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

У меня есть чистая абстрактная база и два производных класса: struct B { virtual void foo() = 0; }; struct D1 : B { void foo() override { cout << "D1::foo()" << endl; } }; struct D2 : B { void foo() override { cout << "D1::foo()" << endl; } ...