virtual-functions

Palabra clave "virtual" de C++ para funciones en clases derivadas. Es necesario?

Con la definición de estructura que se da a continuación... struct A { virtual void hello() = 0; }; Enfoque #1: stru ... truct B : public A { void hello() { ... } }; ¿Hay alguna diferencia entre estas dos formas de anular la función hello?

¿Cuál es la diferencia entre una función abstracta y una función virtual?

¿Cuál es la diferencia entre una función abstracta y una función virtual? ¿En qué casos se recomienda utilizar virtual o abstracto? Que es el enfoque más correcto?

¿Por qué necesitamos funciones virtuales en C++?

Estoy aprendiendo C++ y solo estoy entrando en funciones virtuales. Por lo que he leído (en el libro y en línea), las funcio ... parece ser importante, así que quiero ser claro en lo que es exactamente. No puedo encontrar una respuesta directa en línea.

¿Puedes escribir funciones / métodos virtuales en Java?

¿Es posible escribir métodos virtuales en Java, como se haría en C++? O, ¿hay un enfoque Java adecuado que se puede implementar que produce un comportamiento similar? ¿Podría darme algunos ejemplos?

Funciones virtuales y rendimiento-C++

En el diseño de mi clase, uso clases abstractas y funciones virtuales extensivamente. Tenía la sensación de que las funciones ... rto? Pero creo que esta diferencia de rendimiento no se nota y parece que estoy haciendo una optimización prematura. ¿Verdad?

Anular funciones virtuales C++ de forma segura

Tengo una clase base con una función virtual y quiero anular esa función en una clase derivada. ¿Hay alguna manera de hacer q ... mienta que lo compruebe por mí? ¿Algún indicador de compilador útil (preferiblemente para g++)? ¿Cómo evitar estos problemas?

¿Por qué C# implementa métodos como no virtuales de forma predeterminada?

A diferencia de Java, ¿por qué C# trata los métodos como funciones no virtuales de forma predeterminada? ¿Es más probable qu ... uz. Pero, ¿qué pasa con los efectos secundarios? ¿Es realmente una buena compensación tener métodos no virtuales por defecto?

¿Cómo se implementan las funciones virtuales y vtable?

Todos sabemos qué funciones virtuales hay en C++, pero ¿cómo se implementan a un nivel profundo? ¿Se puede modificar la vta ... cidad se ve afectada si la función virtual realmente se sobrescribe o no, o esto no tiene ningún efecto mientras sea virtual.

¿Cuál es el costo de rendimiento de tener un método virtual en una clase C++?

Tener al menos un método virtual en una clase C++ (o cualquiera de sus clases padre) significa que la clase tendrá una tabla ... sea virtual por defecto, incluido el destructor, en cada clase, y solo elimínelo cuando lo necesite. ¿Te parece una locura?

Tipo de retorno de función virtual C++

¿Es posible que una clase heredada implemente una función virtual con un tipo de retorno diferente (no usando una plantilla como retorno)?

¿Podemos tener funciones virtuales estáticas? Si no, ¿entonces POR QUÉ? [duplicar]

Posible Duplicado:¿Miembros virtuales estáticos de C++? ¿ Podemos tener funciones virtuales estáticas? Si no, ¿entonces POR QUÉ? class X { public: virtual static void fun(){} // Why we cant have static virtual function in C++? };

¿Por qué no tener todas las funciones como virtuales en C++?

Sé que las funciones virtuales tienen una sobrecarga de desreferenciación para llamar a un método. Pero supongo que con la ve ... funciones se beneficien de la inserción. Podría haber otras razones potencialmente, y me encantaría conocerlas y resumirlas.

Sobreescribir funciones virtuales públicas con funciones privadas en C++

¿Hay alguna razón para hacer que los permisos en una función virtual de C++ sobrescrita sean diferentes de la clase base? ¿ ... o de un permiso diferente para métodos virtuales en clases derivadas vs clase base? ¿hay alguna razón legítima para hacerlo?

¿Penalización de rendimiento por trabajar con interfaces en C++?

¿Hay una penalización de rendimiento en tiempo de ejecución cuando se utilizan interfaces (clases base abstractas) en C++?

¿Casos de uso de funciones virtuales puras con body?

Recientemente supe que en C++ las funciones virtuales puras pueden tener opcionalmente un cuerpo. ¿Cuáles son los casos de uso del mundo real para tales funciones?

¿Final implica reemplazar?

Según entiendo, la palabra clave override indica que una declaración dada implementa un método base virtual, y la compilación ... ompilar bien. ¿Qué información transmite override final que final no transmite? ¿Cuál es el caso de uso para tal combinación?

C++: ¿Puntero a la versión monomórfica de la función miembro virtual?

En C++, es posible obtener un puntero a una función miembro (no estática) de una clase, y luego invocarla en un objeto. Si la ... osa forma manual de escribir una nueva función no virtual que hace la llamada monomórfica, y luego obtener un puntero a eso.)

Covarianza de Tipo de Retorno con Punteros Inteligentes

En C++ podemos hacer esto: struct Base { virtual Base* Clone() const { ... } virtual ~Base(){} }; struct Derived : B ... tero inteligente a Derived. Gracias de antemano! Actualizar: Mi segundo ejemplo de hecho no compila, gracias a Iammilind

Por qué tengo que volver a declarar una función virtual mientras sobrescribo [C++]

#include <iostream> using namespace std; class Duck { public: virtual void quack() = 0; }; class BigDuck : pu ... dor ya tiene la firma de la función que la subclase anulará, entonces ¿por qué se requiere una redeclaración? ¿Alguna idea?

¿Tiene sentido agregar la palabra clave final a la función virtual en una clase que no tiene clase base (no se deriva)

Estoy leyendo un tutorial de awesome awesome C++11 y el autor proporciona este ejemplo mientras explica la palabra clave fina ... r aquí la palabra clave final? En mi opinión, puede evitar el uso de la palabra clave virtual aquí y evitar que f() se anule.