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:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
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();
}
1. Introducción al Lenguaje C El lenguaje C apareció en 1972, en el diseño del sistema operativo UNIX. Este... [10/05/04] |
73.701 | ||||
2. Guía de Comandos Rápidos de Linux Linux es la principal expresión del software libre. Linux ofrece al usuario la... [14/06/04] |
22.018 | ||||
3. Action Script 3. Lenguaje de programación Action script 3 . Este curso de informática fue realizado especialmente para las... [04/05/11] |
274 |
![]() |