gpt4 book ai didi

c++ - 抽象方法和纯虚函数是一回事吗?

转载 作者:IT老高 更新时间:2023-10-28 14:00:04 27 4
gpt4 key购买 nike

据我所知,抽象方法和纯虚函数都不提供任何功能......所以我们可以说它们是同一件事吗?

另外,假设一个类(不一定声明为抽象)包含许多实现的方法(不是抽象的或虚拟的),但包含一个纯虚函数。那么这个类是抽象的吗?

最佳答案

是的,它们是一回事。在 C++ 中,抽象方法只是描述纯虚函数特性的另一种方式。两者都只是意味着一个没有提供实现的方法,需要在子类中实现,然后才能实际实例化该类。

C++ 中纯虚函数和抽象类的情况是相似的,因为它们本质上意味着完全相同的东西。任何抽象类必须至少有 1 个纯虚函数,否则它可以被实例化并且不会是抽象的。同样,任何具有至少 1 个纯虚函数的类都必须是抽象的,因为需要对其进行扩展,以便实际实现方法。

因此,一个类是抽象的当且仅当它包含至少 1 个纯虚函数/抽象方法。

后来,像 Java 和 C# 这样的语言使这样的事情更加明确,允许使用特殊关键字来定义类抽象而不是纯虚拟函数的存在。 C++ 允许您做与这些语言相同的事情,但它们只是更明确一点。 :D

关于c++ - 抽象方法和纯虚函数是一回事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6574852/

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