为什么我们在c++中需要接口(纯虚函数或抽象类)?
我们可以不使用抽象类,而使用一个基类并在其中定义虚函数,并在派生类中重写该虚函数吗?
上述方法有什么优点和缺点(除了我们可以创建基类的对象)?
纯虚函数适用于没有合理的方法在基类中实现该函数的情况。例如:
class Shape {
public:
virtual float area() const = 0;
};
您可以编写派生类,例如Circle
and Rectangle
实施area()
使用这些形状的特定公式。但你会如何实施area()
in Shape
本身,如果它不是纯虚拟的呢?在不知道形状是什么样的情况下,如何计算它的面积?
如果你的函数can在基类中(以有用的方式)实现,然后继续实现它。并非所有基类都需要是抽象的。但其中一些只是天生的are抽象的,比如Shape
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)