FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
redefinir métodos virtuales
Tengo una clase virtual con una serie de métodos, por ej:
class padre{ ... virtual void __fastcall metodoA(int param1) = 0; ... } Y en una clase descendente quiero redefinir la misma función: class hijo{ ... virtual void __fastcall metodoA(miTipo param1); ... } Cbuilder no me deja redefinir, si hago esto me dice que no puedo instanciar la clase hija. ¿No existe nada en cbuilder para redefinir métodos? me parece que en delphi se llama override gracias! un saludo
__________________
http://www.qdsSoftware.com |
#2
|
||||
|
||||
Hola.
Probá de este modo: Código:
class TBase { // clase abstracta (tiene al menos una función virtual pura) public: virtual void __fastcall Funcion(int Param) = 0; // pure virtual }; class TDerivada: public TBase { // derivada de Base public: void __fastcall Funcion(float Param) { ShowMessage(FloatToStr(Param * 2)); }; }; /* llamada de ejemplo */ void __fastcall TForm1::Button1Click(TObject *Sender) { TDerivada *D; D->Funcion(3.141592654); } Por otro lado, si llamás a una función virtual pura directa o indirectamente te va a provocar un error de ejecución. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Virtuales | LiAnTe- | Varios | 5 | 30-05-2011 23:11:02 |
redefinir constructor de TForm | Bauhaus1975 | OOP | 4 | 20-12-2008 18:06:40 |
Campos Virtuales en SQL | Jonathan96 | SQL | 10 | 25-01-2008 20:55:20 |
Máquinas virtuales | lenis45 | JAVA | 2 | 26-03-2007 18:50:01 |
Campos Virtuales | jdangosto | OOP | 6 | 04-08-2005 20:59:19 |
|