sábado, 19 de julio de 2008

Funciones Virtuales De C++

_________________________________________________

Funciones Virtuales De C++

_________________________________________________

Una función virtual es miembro de una clase que se declara dentro de una clase base y se redefine en una clase derivada. Para crear una función virutal hay que preceder a la declaración de la función la palabra clave virtual. Debe tener el mismo tipo y numero de parametros y devolver el mismo tipo.

Cada redefinición de la función virtual en una clase derivada expresa el funcionamiento especifico de la misma con respecto a esa clase derivada. Cuando se redefine una función virtual en una clase derivada NO es necesaria la palabra virtual.

EJEMPLO:

Código:
#include<> //saquene los espacios entre los triangulitos xD
#include<>
#include<>
class base{
public:
int i;
base(int x){i=x;}
virtual void func(){cout << i<< "\n";}
};

class derivada1:public base{
public:
derivada1(int x):base(x){};
void func(){ cout << i*i << "\n";}
};

class derivada2:public base{
public:
derivada2(int x):base(x){};
void func(){cout << i+i;}
};

void main()
{
base obj1(10);
derivada1 obj2(10);
derivada2 obj3(10);
obj1.func();
obj2.func();
obj3.func();
getch();
}
Para este documento recibi ayuda de John Garcia, gracias por todo.

Por: rufiopunkrock
__________________

No hay comentarios: