为什么我们需要在c ++中使用接口(纯虚函数或抽象类)?我们可以在其中定义具有虚函数的基类,并在派生类中重写该虚函数,而不是使用抽象类.上述方法的优点和缺点是什么(除了我们可以创建基类的对象)?
Wyz*_*a-- 12
纯虚函数适用于在基类中实现函数的合理方法.例如:
class Shape {
public:
virtual float area() const = 0;
};
Run Code Online (Sandbox Code Playgroud)
您可以编写派生类,如Circle和Rectangle实现area()使用特定公式的各种形状.但是,你会如何实现area()在Shape本身,如果不是纯虚?如何计算形状的面积,甚至不知道它是什么样的形状?
如果您的函数可以在基类中实现(以有用的方式),那么继续执行它.并非所有基类都需要抽象.但其中一些本身就是抽象的,就像Shape.
| 归档时间: |
|
| 查看次数: |
2413 次 |
| 最近记录: |