Hola aguml.
La ventaja de usar una variable de clase abstracta es que dicha variable/parámetro puede recibir cualquier clase derivada de la anterior.
Por ejemplo,
Código PHP:
void foo(TStream *Stream) {...}
permite enviar cualquier clase derivada de
TStream:
Código PHP:
{
TMemoryStream *ms;
TFileStream *fs;
TStringStream *ss;
foo(ms);
foo(fs);
foo(ss);
...
Logicamente que se dispondrá como máximo, de los miembros y funciones miembros, declarados en la clase base.
En ejemplo anterior
concretamente, no reporta beneficio ni perjuicio alguno. Pero, en el caso de haber necesitado del uso de la función miembro
Sort(), hubiera usado:
Código PHP:
TStrignList *sl;
ya que al estar implementada en esta última, del otro modo no la habría tenido a mi disposición.
Saludos
