Espero no decir boludeces ya que hace 2 anios que no programo con c++ Pero en la definicion de B, metodo M1, estas llamando a M2 y M2 es virtual en A...
Todos los metodos virtuales tienen que estar definidos en las clases hijas Espero no decir pavadas... pero me la juego -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Carlos Pantelides Sent: Lunes, 08 de Septiembre de 2008 05:44 p.m. To: [email protected] Subject: [Prog] consulta herencia en c++ Hola a todos: Tengo la siguiente situación... intento delegar un comportamiento a una clase derivada, pero... mmh, es mas fácil que ponga el código y hable por si mismo [1] No compila pues cuando llega a B::M1() llamando a M2, esta aun no esta implementada. Me resulta evidente que esto se soluciona agregando una clase más, el pattern Strategy, pero ese es el plan B. Por favor tengan en cuenta que vengo del mundo laxo de php, donde esto si funciona. Mi pregunta viene por el lado de c++. Hay manera de lograr mi cometido sin aplicar el patttern, sin agregar clases? [1] (en pseudo c++, omito public, parameters y return values): class A { public: virtual void M1()=0; virtual void M2()=0; } class B:public A { public: void M1() { M2(); } } class C:public B { public: void M2() {} } Muchas gracias anticipadas Carlos Pantelides _______________________________________________ Lista de correo Programacion. [email protected] http://listas.fi.uba.ar/mailman/listinfo/programacion _______________________________________________ Lista de correo Programacion. [email protected] http://listas.fi.uba.ar/mailman/listinfo/programacion
