3
ответа

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

в моем рабочем месте (php только) у нас есть базовый класс для абстракции базы данных. Когда Вы хотите добавить новую таблицу базы данных к базовому слою, необходимо создать подкласс этого базового класса и переопределения...
вопрос задан: 9 October 2011 23:01
3
ответа

Как переопределить виртуальную функцию в хорошем стиле? [C++]

парни я знаю этот вопрос, являются очень простыми, но я встретил в немногих публикациях (веб-сайты, книги) другой стиль виртуальной функции переопределения. То, что я имею в виду: если у меня есть базовый класс: класс Основа {общественность:...
вопрос задан: 25 April 2010 23:40
3
ответа

Виртуальные столы на анонимных классах

У меня есть что-то подобное этому в моем кодексе: #include <iostream> #include <cstdlib> Основа структуры {виртуальный Виртуальный интервал () = 0;}; Ребенок структуры {структура: общественная Основа {виртуальный...
вопрос задан: 17 January 2010 19:45
3
ответа

Что опасности сделать виртуальный метод?

Я делал некоторую насмешку с RhinoMocks, и это требует, чтобы дразнил методы быть сделанным виртуальным. Это прекрасно кроме, у нас есть пользовательская платформа, которая содержит методы, которые я хочу дразнить который...
вопрос задан: 26 September 2008 01:52
2
ответа

Посетитель и шаблонные виртуальные методы

В типичной реализации Шаблона "посетитель" класс должен составлять все изменения (потомки) базового класса. Существует много экземпляров, где то же содержание метода в посетителе...
вопрос задан: 14 February 2016 00:04
2
ответа

C++ по сравнению с C++ / CLI: квалификация Константы параметров виртуальной функции

[Все следующее было протестировано с помощью Visual Studio 2008 SP1] В C++, квалификация константы типов параметра не влияет на тип функции (8.3.5/3: "Любой спецификатор условной цены, изменяющий параметр...
вопрос задан: 9 March 2015 20:21
2
ответа

Вызов C++ виртуальный метод в дочернем классе

у меня есть следующие классы: класс A {защищенный: *внутренний; общественность:.... виртуальная пустота doSomething () = 0;....} класс B: общественность {... освобождает doSomething () {если (внутренний! =...
вопрос задан: 28 June 2013 23:51
2
ответа

Ассоциация с базовыми классами - Как решить абстрактный тип `error` [duplicate]

Как я могу избежать ошибки абстрактного типа в обстоятельствах, описанных в титре? КОНТЕКСТ Я разрабатываю игру «Броненосец», где есть класс игры, в котором будут два игрока ...
вопрос задан: 17 February 2012 14:57
2
ответа

Спецификация исключения при переопределении виртуальной функции

Рассмотрите следующий код: класс A {общественность: виртуальная пустота f () бросок (интервал) {}}; класс B: общественность {общественность: освободите f () бросок (интервал, дважды) {}}; При компиляции это говорит, что это произошло...
вопрос задан: 5 March 2010 15:05
2
ответа

Ковариантные виртуальные функции и интеллектуальные указатели

В C++ подкласс может указать другой тип возврата при переопределении виртуальной функции, пока тип возврата является подклассом исходного типа возврата (И оба возвращаются как указатели/...
вопрос задан: 12 July 2009 12:20
2
ответа

оператор присваивания работает с различными типами объектов?

класс A {общественность: оператор void = (константа B &in); частный: интервал a;}; класс B {частный: интервал c;} извините. там произошел ошибка. действительно ли оператор присваивания допустим? или есть ли любой способ достигнуть...
вопрос задан: 8 April 2009 15:22
1
ответ

Использование виртуальной функции с ключевым словом Final

У меня есть вопрос об использовании ключевого слова final в C ++. Я понимаю, что виртуальная функция является функцией-членом, которая объявлена ​​в базовом классе, и ожидается, что она будет переопределена в производной ...
вопрос задан: 31 March 2019 00:21
1
ответ

Есть ли способ устранить & ldquo; окончательную двусмысленность переопределения & rdquo; используя декларацию об использовании?

Я пытаюсь решить страшную проблему с алмазом с помощью методов виртуального класса. Давайте сначала рассмотрим случай множественного наследования с особенностью конечного виртуального метода. Так как есть окончательный ...
вопрос задан: 18 January 2019 16:17
1
ответ

Что, если я не приму предупреждение «скрывает унаследованный член. Чтобы текущий член переопределил эту реализацию… »

Это, может быть, замечательный момент, но он касается предупреждения, которое компилятор выдает, если вы сделаете что-то вроде: class A {public virtual void F () {} } класс B: A {public void F () {} } Тогда ...
вопрос задан: 6 March 2012 15:28
1
ответ

Не виртуальные методы в Java

Только начинают использовать Java. Я нахожу много общего с .NET, но вижу, что все методы в Java являются виртуальными по умолчанию. Итак, вопрос в том, что я могу сделать, чтобы они не были виртуальными? Является ли последний ...
вопрос задан: 1 September 2010 18:43
1
ответ

Переопределение QWidget keyPressEvent

Я пробую за половину вечности теперь переопределяющую функцию QWidgets keyPressEvent в QT, но это просто не будет работать. Я должен сказать, что я плохо знаком с CPP, но я знаю ObjC и стандарт C. Моя проблема похожа на это:...
вопрос задан: 21 May 2010 18:38
1
ответ

Виртуальная функция C++ звонит по сравнению с повышением:: вызов функции speedwise

Я хотел знать, как быстро вызов виртуальной функции единичного наследования по сравнению с одним тем же повышением:: вызов функции. Они почти то же в производительности, или повышение:: функционировать медленнее? Я знаю...
вопрос задан: 30 January 2010 12:09
0
ответов

Альтернативная виртуальная реализации вызовов функций?

C ++ поддерживает динамическое связывание через виртуальный механизм. Но насколько я понимаю, виртуальный механизм - это деталь реализации компилятора, а стандарт просто определяет поведение того, что ...
вопрос задан: 19 November 2019 19:20
0
ответов

Когда именно указатель виртуальной таблицы (в C ++) устанавливается для объекта?

Я знаю, что для любого класса, имеющего виртуальную функцию, или производного класса из класса, имеющего виртуальную функцию, компилятор делает две вещи. Во-первых, он создает для этого виртуальную таблицу ...
вопрос задан: 19 November 2019 17:39
0
ответов

Можем ли мы иметь статические виртуальные функции? Если нет, то ПОЧЕМУ? [дубликат]

Возможный дубликат: статические виртуальные члены С++? Можем ли мы иметь статические виртуальные функции? Если нет, то ПОЧЕМУ? класс Х { public: virtual static void fun(){} // Почему у нас не может быть static virtual ...
вопрос задан: 4 October 2018 12:35
0
ответов

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

В Википедии есть следующий пример модификатора final C++11 :struct Base2 { virtual void f ()final; }; struct Derived2 :Base2 { void f (); // ill -сформировано из-за того, что виртуальная функция...
вопрос задан: 15 September 2018 16:42
0
ответов

Когда vptr (указывающий на vtable) инициализируется для полиморфного класса?

Это не о «Когда создается VTABLE?». Скорее, когда следует инициализировать VPTR? Это в начале / конце конструктора или до / после конструктора? A :: A (): i (0), j (0) -> & ...
вопрос задан: 9 July 2018 03:47
0
ответов

Является ли когда-либо «моральным» игнорирование невиртуальной функции? [closed]

Я долгое время использовал следующее эмпирическое правило C ++: если класс переопределяет функцию в своем базовом классе, функция должна быть объявлена ​​виртуальной в базовом классе. Я думаю, что наткнулся на ...
вопрос задан: 20 August 2017 13:58
0
ответов

Как реализовать виртуальные методы в Python?

Я знаю виртуальные методы из PHP или Java. Как их можно реализовать в Python? Или мне нужно определить пустой метод в абстрактном классе и переопределить его?
вопрос задан: 17 August 2017 11:24
0
ответов

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

Обязательно ли иметь определение для виртуальной функции? Рассмотрим этот пример программы ниже: #include using namespace std; база класса {public: void virtual ...
вопрос задан: 20 July 2017 17:00
0
ответов

C ++: Почему struct \ class нужен виртуальный метод для того, чтобы быть полиморфным?

После этого вопроса мне интересно, почему struct \ class в C ++ должен иметь виртуальный метод, чтобы быть полиморфным. Форсировать виртуальный деструктор имеет смысл, но если деструктора нет вообще ...
вопрос задан: 23 May 2017 12:32
0
ответов

Функции шаблонов элементов не могут быть виртуальными - временное решение?

Я понимаю, почему функции шаблонов элементов не могут быть виртуальными, но я не уверен, что лучше всего решить. У меня есть код, похожий на этот: struct Entity {template ...
вопрос задан: 23 May 2017 12:11
0
ответов

Зачем нужны виртуальные функции? [дубликат]

Возможный дубликат: Может ли кто-нибудь объяснить виртуальные методы C ++? У меня вопрос по виртуальным функциям C ++. Почему и когда мы используем виртуальные функции? Может ли кто-нибудь дать мне реальное время ...
вопрос задан: 23 May 2017 12:09
0
ответов

переопределить виртуальный метод C ++

У меня есть шаблон класса, в котором некоторые методы определены как виртуальные, чтобы дать возможность пользователю моего класса предоставить им реализацию в своем производном классе. Обратите внимание, что в моем классе шаблона ...
вопрос задан: 23 May 2017 12:02
0
ответов

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

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