Skip to content

Latest commit

 

History

History
14 lines (7 loc) · 951 Bytes

File metadata and controls

14 lines (7 loc) · 951 Bytes

30、纯虚函数 (应用于接⼝继承和实现继承)

实际上,纯虚函数的出现就是为了让继承可以出现多种情况:

有时我们希望派⽣类只继承成员函数的接口

有时我们⼜希望派⽣类既继承成员函数的接口,⼜继承成员函数的实现,⽽且可以在派⽣类中可以重写成员函数以实现多态

有的时候我们又希望派生类在继承成员函数接口和实现的情况下,不能重写缺省的实现。

其实,声明⼀个纯虚函数的⽬的就是为了让派⽣类只继承函数的接口,⽽且派⽣类中必需提供 ⼀个这个纯虚函数的实现,否则含有纯虚函数的类将是抽象类,不能进⾏实例化。

对于纯虚函数来说,我们其实是可以给它提供实现代码的,但是由于抽象类不能实例化,调⽤ 这个实现的唯⼀⽅式是在派⽣类对象中指出其 class 名称来调⽤。