Resultados de la búsqueda a petición "virtual-functions"

7 la respuesta

¿Cuál es el problema con malloc () y las funciones virtuales? [duplicar

Posible duplicado: C ++: ¿por qué esnew ¿necesario [https://stackoverflow.com/questions/4904762/c-why-is-new-needed] ¿Por qué no puedo usar malloc para asignar espacio a mis objetos cuando son hijos de una clase que contiene funciones ...

7 la respuesta

¿Por qué las funciones virtuales deben pasarse con un puntero y no por valor (del objeto)?

Creo que entiendo el concepto de métodos virtuales y vtables, pero no entiendo por qué hay una diferencia entre pasar el objeto como puntero (o referencia) y pasarlo por valor (¿qué tipo de desecho de la tabla o algo así? ) ¿Por qué algo así ...

7 la respuesta

Puedo llamar a la función virtual de una clase base si la estoy anulando?

Di que tengo clasesFoo yBar configurado de esta manera: 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 ...

8 la respuesta

Anular de forma segura las funciones virtuales de C ++

Tengo una clase base con una función virtual y quiero anular esa función en una clase derivada. ¿Hay alguna forma de hacer que el compilador verifique si la función que declaró en la clase derivada realmente anula una función en la clase base? Me ...

8 la respuesta

nvocar una función virtual y una función virtual pura desde un constructor

Cuando invoco una función virtual desde un constructor base, el compilador no da ningún error. Pero cuando invoco una función puramente virtual del constructor de la clase base, da un error de compilación. Considere el siguiente programa de ...

8 la respuesta

¿Por qué usar funciones virtuales? [duplicar

Posible duplicado: Alguien puede explicar los métodos virtuales de C ++? [https://stackoverflow.com/questions/2391679/can-someone-explain-c-virtual-methods] Tengo una pregunta sobre las funciones virtuales de C ++. ¿Por qué y cuándo usamos ...

8 la respuesta

Por qué usar punteros de clase base para clases derivadas

class base{ ..... virtual void function1(); virtual void function2(); }; class derived::public base{ int function1(); int function2(); }; int main() { derived d; base *b = &d; int k = b->function1() // Why use this instead of the following line? ...

9 la respuesta

¿Se puede almacenar en caché una búsqueda de funciones virtuales en C ++?

Digamos que tengo una función virtual llamada foo () en un puntero de clase base abstracta, mypointer-&gt; foo (). Cuando mi aplicación se inicia, según el c...

9 la respuesta

¿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 principales) significa que la clase tendrá una tabla virtual, y cada instancia tendrá un puntero virtual. Así que el costo de la memoria es bastante claro. Lo más ...

9 la respuesta

¿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 que sea un problema de rendimiento en lugar de otros posibles resultados? Recuerdo haber leído un párrafo de Anders ...