2010-05-12 15 views
9

No tengo mi C++ efectivo conmigo y esto me está molestando tanto que tengo que pedir mi propia cordura. DadaReferencias y Objeto Rebanado

class Foo : public Bar{} 

void MyFunc(Bar &_input); 

Si paso en un Foo, estoy enredando con el problema slicing o he evitado?

Respuesta

11

No hay problema, porque está pasa en una referencia. No estás creando un objeto nuevo, simplemente dejando que MyFunc acceda al objeto original.

+0

Gracias. Esto me estaba volviendo loco. – wheaties

2

Cortar en rodajas es solo un problema cuando lanza un objeto a su clase principal. No hay cortes al lanzar punteros o referencias.

5

Dado que está pasando la referencia - no, a menos que luego asigne a una instancia de Bar.

Cuestiones relacionadas