纯虚函数

为什么要有纯虚函数

在定义基类时,有时只需要抽象出虚函数的原型,而无法定义其实现,因为其实现依赖于它的派生类。这是,可以把基类中的虚函数定义为纯虚函数。

格式:virtual <return type> FuncName(<ArgList>) = 0;

 

说明:

(1)定义纯虚函数时,其实现不能在类内定义,但可在类外或派生类中定义,通常在派生类中定义。

(2)虚函数名赋值为0,与函数体为空不同,在未实现该函数之前,不能调用它(函数体为空的函数可以被调用)。

(3)含有纯虚函数的类是抽象类,因为虚函数没有实现部分,不能产生对象。

(4)可以定义抽象类类型的指针(或引用),以便这种基类类型的指针指向其派生类的对象(或用基类类型的引用关联派生类对象)。调用派生类重定义的纯虚函数引发运行时的多态。

posted @ 2013-01-13 21:05  helloweworld  阅读(342)  评论(0编辑  收藏  举报