在一些情况下,父类不能给出虚函数的有意义的实现,这时就可以把虚函数说明为纯虚函数。纯虚函数不用在父类中实现,而是在子类中具体实现。例如,宠物类有个叫的函数,这个函数实现没有意义,宠物们没有统一的叫声啊。所以可以把“叫”这个函数在父类中说明为纯虚函数,而在子类中去实现这个函数。例如子类狗狗,“叫”的实现可以是输出“汪汪”;子类猫,“叫”的实现可以是输出“喵喵”。
关于纯虚函数要注意:
1.是一种特殊的虚函数,是一种没有具体实现的虚函数。所以纯虚函数也有虚函数的特点,可以实现动态联遍。
2.除了类的构造函数和析构函数不能调用纯虚函数外,其他函数都可以调用纯虚函数。
抽象类
包含纯虚函数的类就叫做抽象类。既然抽象类中有一个函数是没有实现的,所以这也就决定了抽象类的特点:
THE END