纯虚函数与抽象类如何运用详解

纯虚函数从名字可以看出应该也是虚函数,哪与虚函数有什么不同吗?

纯虚函数与虚函数不同点:

1.定义方式不同

2.类中有虚函数可以定义对象,类中有纯虚函数不可以定义对象

不能定义对象,哪定义这类有什么用?这就要讲到另一个知识:抽象类

抽象类:类中带有纯虚函数的就是抽象类,抽象类不能实例化(也就是不能定义对象)。

作用就是用来设计接口,派生类来实现接口作用。这样讲感觉不到有什么用。现在写下实际运用的案例来加深对抽象类理解。

输出结果:

BaseGraphics类定义成抽象类接口后优点:

1.代码具有非常好的扩展性,如果再加个hexagon类也很好处理,实现BaseGraphics定义的各个接口就好了

2.有助于多人协同开发,开发接口的不同关心如何实现接口,实现接口不用想太多,按要求一个个实现就好。

3.好的维护性,比如要修改Circle类里实现,只要改Circle部份,不用动到 其它代码。