虚函数

来源:互联网 发布:人工智能发展综述 编辑:程序博客网 时间:2024/05/22 03:23

本来,基类指针是用来指向基类对象的,如果用它来指向派生类对象,则进行指针类型转换,将派生类对象的指针先转换为基类的指针,

所以基类指针指向的是派生类对象中的基类部分,在程序修改之前,是无法通过基类指针去调用派生类对象中的成员函数的。

C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数

虚函数突破

了这一限制,在派生类的基类部分中,派生类的虚函数取代了基类原有的虚函数,因此在使基类指针指向派生类对象后,调用虚函数时,

就调用了派生类的虚函数。要注意的是,只有用virtual声明了虚函数后才具有以上作用。如果不声明为虚函数,企图通过基类指针调用派生类的非虚函数是不行的

原创粉丝点击