虚函数和纯虚函数

来源:互联网 发布:bgp网络是什么 编辑:程序博客网 时间:2024/05/01 22:47
实现多态性的两种方法,静态的重载和动态的虚函数机制

虚函数
定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数
语法:virtual 函数返回类型 函数名(参数表) {函数体;}
用途实现多态性,通过指向派生类的基类指针,访问派生类中同名覆盖成员函数

可以用指向基类的指针,调用派生类对应的虚函数

为什么用虚函数?
1.基于向上类型转换,基类通过虚函数可以对多个子类相似的功能实现统一管理。
2.我们通过设计一个以基类型作为参数的顶层函数,就可实现基类及其所有子类相似功能的统一管理,而不用理会不同对象自身的类型。
当然你还是可以利用域解析符去调用想要的成员函数,但情况并不总是那么顺利。当类层次很多时,你可能都不太记得你创建的对象属于哪个类型了。
纯虚函数
实现方法定义和实现的分离
定义了纯虚函数的类,是一个抽象类,不能定义对象
要求派生类必须实现这个纯虚函数~~~相当于给出一个规范,所有派生类必须实现它,不然没法定义对象
0 0