虚函数:虚函数就是用virtual关键字修饰的函数,
虚函数允许在派生类中定义和基类虚函数相同的函数,并且自动成为虚函数,
调用函数时只需用基类指针来调用函数。
例如:
#include<iostream>
using namespace std;
class base
{
public:
virtual void fun() //define virtual function
{
cout<<"base class"<<endl;
}
};
class derived:public base
{
public:
void fun()
{
cout<<"derived class"<<endl;
}
};
class derived1:public base
{
public:
void fun()
{
cout<<"derived1 class"<<endl;
}
};
void main()
{
base *p=new base();
p->fun();
base *p1=new derived();//point derived class
p1->fun();
base *p2=new derived1();//point derived1 class
p2->fun();
delete p;
delete p1;
delete p2;
}
虚函数允许在派生类中定义和基类虚函数相同的函数,并且自动成为虚函数,
调用函数时只需用基类指针来调用函数。
例如:
#include<iostream>
using namespace std;
class base
{
public:
virtual void fun() //define virtual function
{
cout<<"base class"<<endl;
}
};
class derived:public base
{
public:
void fun()
{
cout<<"derived class"<<endl;
}
};
class derived1:public base
{
public:
void fun()
{
cout<<"derived1 class"<<endl;
}
};
void main()
{
base *p=new base();
p->fun();
base *p1=new derived();//point derived class
p1->fun();
base *p2=new derived1();//point derived1 class
p2->fun();
delete p;
delete p1;
delete p2;
}