虚函数的定义就不啰嗦了,纯虚函数和虚函数类似,但是不提供实现!!!
啥意思呢?见下面的例子:
这个方法就是纯虚函数,别丢了后边那个=0
,它是用来留给子类去实现的。
这下大家或许会疑惑,那么包含了这个函数的类怎么创建对象呢?
事实上这个类是创建不了实例的,因为包含了一个及以上个纯虚函数的类被称为抽象类。
抽象类是不能创建实例的,但是可以创建指向其的指针和引用。
它只能通过子类继承,并实现其所有纯虚方法,才能创建其子类的实例。
也就是说,如果它的子类并没有实现它的全部的纯虚方法,它的子类也是不能创建对象的。
所以抽象类用于做接口是挺合适的。