一.纯虚函数的定义
纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。C++中的纯虚函数,一般在函数名后使用=0作为此类函数的标志。
前面已经讲解了虚函数,虚函数可以在基类中实现,但是纯虚函数不能在基类中实现,且必须在子类中实现。
二.纯虚函数的作用
1、为了方便使用多态特性,我们常常需要在基类中定义虚函数。
2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。为了解决上述问题,引入了纯虚函数的概念。
纯虚函数的格式:virtual ReturnType Function()= 0;
三.纯虚函数实例演示
class A {
public:
void fun()
{
cout<<"普通函数"<<endl;
}
virtual void fun1()=0;
};
class B:public A{
virtual void fun1()
{
cout<<"派生类fun1函数"<<endl;
}
};
int main()
{
A*a=new B();
a->fun();
a->fun1();
return 0;
}
结果:
分析:其实纯虚函数是虚函数的一种,只是纯虚函数不能在基类中实现,而在派生类中必须实现。
四.总结
1.纯虚函数是虚函数的一种。
2.纯虚函数不能在基类中实现功能,且定义格式为virtual ReturnType Function()= 0。
3.基类中的纯虚函数必须在子类中实现。