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

Responder a