gpt4 book ai didi

c++ - 为什么我们在 C++ 中需要接口(interface)或纯虚函数

转载 作者:太空狗 更新时间:2023-10-29 23:25:21 26 4
gpt4 key购买 nike

为什么我们在 C++ 中需要接口(interface)(纯虚函数或抽象类)?除了抽象类,我们可以有一个基类,其中定义了虚函数,并在派生类中覆盖该虚函数。上述方法的优点和缺点是什么(除非我们可以创建基类的对象)?

最佳答案

纯虚函数适用于没有合理的方法在基类中实现函数的情况。例如:

class Shape {
public:
virtual float area() const = 0;
};

您可以编写派生类,例如 CircleRectangle,它们使用针对这些形状的特定公式实现 area()。但是,如果 Shape 本身不是纯虚拟的,您将如何在 area() 中实现它?如何在不知道形状是哪种形状的情况下计算形状的面积?

如果您的函数可以在基类中实现(以有用的方式),那么继续实现它。并非所有基类都需要是抽象的。但它们中的一些本质上抽象的,例如Shape

关于c++ - 为什么我们在 C++ 中需要接口(interface)或纯虚函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39898126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com