Результаты поиска по запросу "virtual-functions"
Если подкласс может изменить определение foo_ ?, но потребителям нужна статическая функция (для эффективности)? Или для шаблона делегирования?
ел следующий код в библиотеке: class Bar { public: bool foo(int i) { return foo_(i); } private: virtual bool foo_(int i) = 0; };Теперь я задаюсь вопросом: почему вы используете это косвенное обращение? Могут ли быть причины, по которым ...
Оператор - это метод со специальным синтаксисом. Вы можете рассматривать это как любой другой метод ...
тор присваивания в C ++ можно сделать виртуальным. Почему это требуется? Можем ли мы сделать других операторов виртуальными тоже?
переопределение
у меня занятияFoo а такжеBar настроить так: class Foo { public: int x; virtual void printStuff() { std::cout << x << std::endl; } }; class Bar : public Foo { public: int y; void printStuff() { // I would like to call Foo.printStuff() here... ...
Вы можете получить указатель на него, например, так:
у вас есть такая структура struct A { void func(); };и ссылка, как этот A& a;вы можете получить указатель на егоfunc метод как это: someMethod(&A::func);А что если этот метод является виртуальным, и вы не знаете, что это во время выполнения? ...
@DeadMG, да. Я не сразу запомнил эти функции, но что-то похожее на них. Что касается исключения, хорошо, просто была идея о том, как обрабатывать различия в типах через промежуточный этап.
+ мы можем сделать это: struct Base { virtual Base* Clone() const { ... } virtual ~Base(){} }; struct Derived : Base { virtual Derived* Clone() const {...} //overrides Base::Clone }; Тем не менее, следующее не будет делать то же самое: struct ...
вы вводите неопределенное поведение земли.
ак вернулся как раз вовремя. Я получаю странную ошибку: 'B::blah': overriding virtual function return type differs and is not covariant from 'A::blah'Вот код, вызывающий проблему: class A { public: class Inner { }; virtual Inner blah() = 0; }; ...
Почему C # реализует методы как не виртуальные по умолчанию?
В отличие от Java, почему C # обрабатывает методы как не виртуальные функции по умолчанию? Это скорее проблема производительности, чем другие возможные результаты? Мне напоминают о прочтении параграфа Андерса Хейлсберга о ...
Конструктор не может быть виртуальным
В одном изС ++ уроки в интернете [http://www.bogotobogo.com/cplusplus/constructor.php]я узнал ниже описание того, почему конструктор не может быть виртуальным Мы не можем объявить виртуальный конструктор. Мы должны указать точный тип объекта во ...
Вызов виртуальной функции и чисто виртуальной функции из конструктора
Когда я вызываю виртуальную функцию из базового конструктора, компилятор не выдает никакой ошибки. Но когда я вызываю чисто виртуальную функцию из конструктора базового класса, это дает ошибку компиляции. Рассмотрим пример программы ...
Должна ли виртуальная функция иметь определение?
Необходимо ли иметь определение виртуальной функции? Рассмотрим этот пример программы ниже: #include <iostream> using namespace std; class base { public: void virtual virtualfunc(); }; class derived : public base { public: void virtualfunc() ...